Translating with DrWatson… this can take a few seconds the first time.
This is a genuine, complex translation. DrWatson protects commands, error codes, and log output while naturally translating the surrounding text. It’s translated once and saved.
Vincent asked how to move an en_US.819 database to Unicode/UTF-8. Marcus advised there's no in-place conversion: dbexport with DB_LOCALE=en_us.819, drop/recreate, then dbimport with DB_LOCALE=en_us.utf8 (client locale set appropriately), and check the application. That worked for ISO-8859-15, but Vincent's data was actually Big5 Chinese stored in an 819 database: import failed with error -201, some tables were missing, and characters stayed Big5. Art suggested recreating the database as en_us.819 and re-importing. No full conversion recipe for Big5 emerged; Vincent concluded you must check that a suitable locale conversion table exists and beware user-defined characters.
Auto-generated by DrWatson from the posts below — may be imperfect; read the full thread.
I am using the database of the en_US.819. Now, I want to store the unicode so:
- Do I need to change my existing database to unicode code set (I only store
the UTF8 data) ?
- If yes, which things I can do and the procedure ?
Hi,
if you want all columns to be able to store unicode, you have to convert the DB
export CLIENT_LOCALE=en_us.819
export DB_LOCALE=en_us.819
dbexport -ss <database> -o <your export dir>drop database (or rename for checking later) using dbaccessexport CLIENT_LOCALE=en_us.819
export DB_LOCALE=en_us.UFT8dbimport <database>
There is no way to convert a database in ISO format to UTF in-place.
You have to check your application if UTF-8 data is correcly stored, maybe
modify the connection
settings. When addressing these DBs using dbaccess e.g, DB_LOCALE should be
en_us.UFT8
and CLIENT_LOCALE should be en_us.UTF8. That way, UTF8 data should be
correctly exported/imported.
Marcus Haarmann
----- Ursprüngliche Mail -----
Von: "VINCENT YEUNG" <chingsze@hkcts.com>
An: ids@iiug.org
Gesendet: Montag, 26. August 2013 10:24:22
Betreff: Unicode database [31258]
I am using the database of the en_US.819. Now, I want to store the unicode so:
- Do I need to change my existing database to unicode code set (I only store
the UTF8 data) ?
- If yes, which things I can do and the procedure ?
*******************************************************************************
Forum Note: Use "Reply" to post a response in the discussion forum.
Dear Marcus,
I followed your instructions to export/import the database. It showed the
error message while importing the database.
*** prepare sqlobj
201 - A syntax error has occured.
After that, I checked the new database and had the evidences as:
- the database is created with the LOCALE=en_us.utf8
- some tables cannot imported.
- the chinese characters contained in the tables (big5)cannot be converted to
utf8. It remained big5.
Would you tell me which mistakes I made ?
My old database contain the chinese characters (big5) and the
DB_LOCALE=en.us_819. It performs so well even the tables contain chinesecharacters. It can display and write the chinese characters without any
problems. Is there no conversion table for 819 to utf8 ? Or what else error I
make ?
Many thanks.
Dear Vincent,
Sorry I have no experience with chinese characters and conversion to utf-8.
How do you store these characters in a en_us.819 database (which ist
iso-8859-1 mostly) ?
We have done a conversion from iso-8859-15 to utf-8 in the described way.
That did work.
Maybe somebody else can give a hint for chinese characters ?
Marcus Haarmann
----- Ursprüngliche Mail -----
Von: "VINCENT YEUNG" <chingsze@hkcts.com>
An: ids@iiug.org
Gesendet: Donnerstag, 29. August 2013 13:49:52
Betreff: Re: Unicode database [31296]
Dear Marcus,
I followed your instructions to export/import the database. It showed the
error message while importing the database.
*** prepare sqlobj
201 - A syntax error has occured.
After that, I checked the new database and had the evidences as:
- the database is created with the LOCALE=en_us.utf8
- some tables cannot imported.
- the chinese characters contained in the tables (big5)cannot be converted to
utf8. It remained big5.
Would you tell me which mistakes I made ?
My old database contain the chinese characters (big5) and the
DB_LOCALE=en.us_819. It performs so well even the tables contain chinesecharacters. It can display and write the chinese characters without any
problems. Is there no conversion table for 819 to utf8 ? Or what else error I
make ?
Many thanks.
*******************************************************************************
Forum Note: Use "Reply" to post a response in the discussion forum.
You will have to recreate the database using the en.us_819 locale and try
the import again.
Art
Art S. Kagel
Advanced DataTools (www.advancedatatools.com)
Blog: http://informix-myview.blogspot.com/
Disclaimer: Please keep in mind that my own opinions are my own opinions
and do not reflect on my employer, Advanced DataTools, the IIUG, nor any
other organization with which I am associated either explicitly,
implicitly, or by inference. Neither do those opinions reflect those of
other individuals affiliated with any entity with which I am affiliated nor
those of the entities themselves.
On Thu, Aug 29, 2013 at 7:49 AM, VINCENT YEUNG <chingsze@hkcts.com> wrote:
> Dear Marcus,
>
> I followed your instructions to export/import the database. It showed the
> error message while importing the database.
> *** prepare sqlobj
> 201 - A syntax error has occured.
>
> After that, I checked the new database and had the evidences as:
> - the database is created with the LOCALE=en_us.utf8
> - some tables cannot imported.
> - the chinese characters contained in the tables (big5)cannot be converted
> to
> utf8. It remained big5.
>
> Would you tell me which mistakes I made ?
> My old database contain the chinese characters (big5) and the
> DB_LOCALE=en.us_819. It performs so well even the tables contain chinese> characters. It can display and write the chinese characters without any
> problems. Is there no conversion table for 819 to utf8 ? Or what else
> error I
> make ?
>
> Many thanks.
>
>
>
>
*******************************************************************************
> Forum Note: Use "Reply" to post a response in the discussion forum.
>
>
--089e0160c454c8884604e5154f66
Yes, you are right.
The Locale of the Database should be en_us.utf8 if it stores the unicode data.
But when we want to use the informix tools like: dbexport/dbimport to change
the non-unicode database, we should consider the target locale and the locale
conversion table available on the system or not. Furthermore, we should pay
more to the case that the characters we create by ourselves since some
character set has area for the end users to add the new characters, i.e.
Chinese characters.
We use strictly necessary cookies to make this site work. With your
consent we’d also use optional cookies for analytics and marketing. You can accept all,
reject all, or choose. Read our Cookie Policy.