× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



Because a "Unicode string literal" is defined as having a UTF-16 CCSID
(1200) and UX'00C2' is the UTF-16 encoding of U+00C2, which is encoded as
X'C382' in UTF-8.
 
0xC2 is not a "regular ASCII character", ASCII only supports 0x00-0x7F.
Anything higher will be two or more bytes in UTF-8.
 

----- Original message -----
From: Steve Richter <stephenrichter@xxxxxxxxx>
Sent by: "MIDRANGE-L" <midrange-l-bounces@xxxxxxxxxxxxxxxxxx>
To: Midrange Systems Technical Discussion
<midrange-l@xxxxxxxxxxxxxxxxxx>
Cc:
Subject: Re: how to insert hex data into UTF-8 column?
Date: Sun, Mar 10, 2019 5:50 PM
 
very cool.   did not see that part.

what I do not follow now is why does UX'00C2' get stored in UTF-8 as
x'C382' ?   I guess because of the variable number of bytes nature of
UTF-8. All the regular ASCII characters are represented with a single
byte
in UTF-8.

been having to spend a lot of time tracking down problems when my web
apps
push bad data into the DB2 database. Somehow an invalid UTF-8 character
is
being stored in the CCSID 1208 column.  Once that happens, the PHP
json_encode function returns an empty string. What I am planning to do
is
write an SQL function that scans the UTF-8 column for bad characters and
returns the byte location of that character. Then use SUBSTRING with the
OCTETS option to remove it.
[1]https://www.ibm.com/support/knowledgecenter/en/SSEPEK_11.0.0/sqlref/src/tpc/db2z_bif_substring.html

On Sun, Mar 10, 2019 at 6:10 PM Jon Paris <jon.paris@xxxxxxxxxxxxxx>
wrote:

> I'm not sure what solution you drew from that thread Steve - but it
seems
> to me that the only thing needed is to add U to the string to indicate
that
> it is a Unicode hex string and not a character hex string. So this:
>
> insert into  repcat52 ( catnum, catname, desc, desc_utf)
> values( 1, 'WAVE', x'818283F1F2F3', Ux'003100320033');
>
> Works just fine.
>
>
> Jon Paris
>
> www.partner400.com
> www.SystemiDeveloper.com
>
> > On Mar 10, 2019, at 6:02 PM, Steve Richter
<stephenrichter@xxxxxxxxx>
> wrote:
> >
> > this post has a lot of good info.
> >
>
[2]https://www.ibm.com/developerworks/community/forums/html/topic?id=4fddf9b9-b8d3-4ba3-9824-476d6a2efa48
> >
> > do not follow why DB2 would want to translate hex data.   The point
of
> hex
> > is to bypass any character translation.
> >
> >
> > On Sun, Mar 10, 2019 at 1:29 PM Steve Richter
<stephenrichter@xxxxxxxxx>
> > wrote:
> >
> >>
> >>
> >> On Sun, Mar 10, 2019 at 12:43 PM Jon Paris
<jon.paris@xxxxxxxxxxxxxx>
> >> wrote:
> >>>
> >>> I'm guessing that by default it is expecting the hex values to be
> >> EBCDIC.  This works:
> >>>
> >>> insert into  repcat52 ( catnum, catname, desc, desc_utf)
> >>> values( 1, 'WAVE', x'818283F1F2F3',
> >>> x'F1F2F3');
> >>>
> >>
> >> I am looking to insert some multibyte UTF-8 characters.  like
x'C383'.
> >>
> >> [3]https://www.fileformat.info/info/charset/UTF-8/encode.htm
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> > --
> > This is the Midrange Systems Technical Discussion (MIDRANGE-L)
mailing
> list
> > To post a message email: MIDRANGE-L@xxxxxxxxxxxxxxxxxx
> > To subscribe, unsubscribe, or change list options,
> > visit: [4]https://lists.midrange.com/mailman/listinfo/midrange-l
> > or email: MIDRANGE-L-request@xxxxxxxxxxxxxxxxxx
> > Before posting, please take a moment to review the archives
> > at [5]https://archive.midrange.com/midrange-l.
> >
> > Please contact support@xxxxxxxxxxxx for any subscription related
> questions.
> >
> > Help support midrange.com by shopping at amazon.com with our
affiliate
> link: [6]https://amazon.midrange.com
>
> --
> This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing
list
> To post a message email: MIDRANGE-L@xxxxxxxxxxxxxxxxxx
> To subscribe, unsubscribe, or change list options,
> visit: [7]https://lists.midrange.com/mailman/listinfo/midrange-l
> or email: MIDRANGE-L-request@xxxxxxxxxxxxxxxxxx
> Before posting, please take a moment to review the archives
> at [8]https://archive.midrange.com/midrange-l.
>
> Please contact support@xxxxxxxxxxxx for any subscription related
> questions.
>
> Help support midrange.com by shopping at amazon.com with our affiliate
> link: [9]https://amazon.midrange.com
>
--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing
list
To post a message email: MIDRANGE-L@xxxxxxxxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: [10]https://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives
at [11]https://archive.midrange.com/midrange-l.

Please contact support@xxxxxxxxxxxx for any subscription related
questions.

Help support midrange.com by shopping at amazon.com with our affiliate
link: [12]https://amazon.midrange.com
 

 

References

Visible links
1. https://www.ibm.com/support/knowledgecenter/en/SSEPEK_11.0.0/sqlref/src/tpc/db2z_bif_substring.html
2. https://www.ibm.com/developerworks/community/forums/html/topic?id=4fddf9b9-b8d3-4ba3-9824-476d6a2efa48
3. https://www.fileformat.info/info/charset/UTF-8/encode.htm
4. https://lists.midrange.com/mailman/listinfo/midrange-l
5. https://archive.midrange.com/midrange-l
6. https://amazon.midrange.com/
7. https://lists.midrange.com/mailman/listinfo/midrange-l
8. https://archive.midrange.com/midrange-l
9. https://amazon.midrange.com/
10. https://lists.midrange.com/mailman/listinfo/midrange-l
11. https://archive.midrange.com/midrange-l
12. https://amazon.midrange.com/

As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.