Subject | Re: [firebird-support] reacreate database with a different charset |
---|---|
Author | Stefan Heymann |
Post date | 2018-07-25T10:03:37Z |
Issam,
the NONE characterset doesn't "know" how to handle the è in "Absence
de germes pathogènes". There is this byte with the hex value E9, but
this could be any character.
I assume you used Windows 1252 or ISO 8859-1 to store this string in
your NONE field (that's because these are used for western European
languages like French).
When you want to convert this to UTF-8 (which is Unicode, where the
character is called 00E8 LATIN SMALL LETTER E WITH GRAVE), you must
tell Firebird how to treat the string.
You can do this by typecasting:
cast (myfield as varchar(100) character set win1252)
So now Firebird treats this NONE string as a WIN1252 string and then
it knows how to convert all the international characters (like é, è,
ä, ê etc.) to Unicode.
HTH
Best Regards
Stefan
--
Stefan Heymann, Tübingen, Germany
the NONE characterset doesn't "know" how to handle the è in "Absence
de germes pathogènes". There is this byte with the hex value E9, but
this could be any character.
I assume you used Windows 1252 or ISO 8859-1 to store this string in
your NONE field (that's because these are used for western European
languages like French).
When you want to convert this to UTF-8 (which is Unicode, where the
character is called 00E8 LATIN SMALL LETTER E WITH GRAVE), you must
tell Firebird how to treat the string.
You can do this by typecasting:
cast (myfield as varchar(100) character set win1252)
So now Firebird treats this NONE string as a WIN1252 string and then
it knows how to convert all the international characters (like é, è,
ä, ê etc.) to Unicode.
HTH
Best Regards
Stefan
--
Stefan Heymann, Tübingen, Germany