From: Fabian J. <fab...@gm...> - 2007-06-20 12:21:02
|
Thank you verry much. Using Glib::locale_to_utf8("valeur avec =E9 etc"), it works fine. 2007/6/20, Matthias Wimmer <m...@tt...>: > > Fabian Jacquet schrieb: > > I have a problem with utf-8. I'm using personal compilation of GLibmm > > 2.12.10 > > Here is my code: > [...] > > n->set_attribute("att1","valeur avec =E9 etc",""); > > n->set_attribute("att2","valeur avec =EA etc",""); > > n->set_attribute("att3","valeur avec etc",""); > [...] > > Remarks about output file: > > > > * No UTF-8 header "0xEF BB BF" > > There is not need for UTF-8 files to start with these bytes, in fact it > is very uncommon outside the MS Windows platform to have a zero width > non-breaking space at the beginning. > > > * "=E9 etc" is coded like this "0xE9 A0 A5 74 63". I think 0x20 is > > missing for the space, I'm not sure "=E9" is correctly coded, "e" > > from "etc" is missing > > * "=EA etc" is coded like this "0xEA A0 A5 74 63". Same remarks > > * " etc" is coded like this "0x20 20 65 74 63" > > Are the strings in your C code encoded using the UTF-8 character set? > Using these string constants won't work if they are encoded in anything > else (e.g. ISO-8859-1). > > > Did I do any error in my code? > > Best you would edit the C files and compile them in a locale that has > UTF-8 at the charset. Else you either have to convert the strings to > UTF-8 before passing them to libxml++ or store at least the character > constants in your C file in UTF-8. > > > Matthias > |