<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
  <title></title>
</head>
<body bgcolor="#ffffff" text="#000000">
Hi<br>
Be warned that this will fail on some databases<br>
Example, ZEOS components, Lazarus 0.9.25 Unicode UTF-8, database
encoding UTF-8<br>
Tables contain ansi & extended including Chinese & Hebrew<br>
If you fail to set the driver to UTF-8, the transliteration is done
before the table object receives it<br>
The result is ????? instead of Chinese & Hebrew<br>
<br>
This email is utf8 encoded & the following lines are supplied as a
test reference<br>
The Polish line may look like ansi but the Z has a punctuation mark
above it which will be lost if you do conversion<br>
<br>
Hebrew : <a href="http://dual-core/nlso/index.php">אתר זה משתמש
בטכנולוגיה NLSO</a><br>
Chinese : <a href="http://dual-core/nlso/index.php">这个网页使用自然语文支持物体科技</a>
<br>
English : <a href="http://dual-core/nlso/index.php">This site uses
NLSO technology</a> <br>
Polish : <a href="http://dual-core/nlso/index.php">Ta strona używa
technologi NLSO</a> <br>
<br>
These will only show correctly if you have international support on
your system,<br>
The database will only work correctly if there is NO conversion or
compatible conversion eg: utf8 to ucs2 or ucs2 to ucs4<br>
The objective for smooth operation should be to have the table fields
utf8 encoded, all communication between your application & the
database also utf8 encoded<br>
To achieve this with firebird, I have no clue<br>
To achieve it with Zeos using MySql is easy when you know how<br>
Drop a ZConnection on your form <br>
set the ZConnection properties to <br>
<br>
character_set_client=utf8<br>
character_set_connection=utf8<br>
character_set_database=utf8<br>
character_set_results=utf8<br>
character_set_server=utf8<br>
character_set_system=utf8<br>
collation_connection=utf8_general_ci<br>
collation_database=utf8_general_ci<br>
collation_server=utf8_general_ci<br>
Codepage=utf8<br>
<br>
This will force the Mysql driver to speak utf8 in all communication<br>
Failure to do this with MySql driver will make all attempts to
transliterate data absolutely useless on the above language samples as
the data is mangled by the driver anyhow<br>
I suggest you look first at the table encoding, then the communication
with your server<br>
If these are right then you should have no need for further
transliteration, use pure utf8<br>
<br>
Have fun<br>
<br>
JoshyFun wrote:
<blockquote cite="mid:526675690.20080724004457@gmail.com" type="cite">
  <pre wrap="">Hello Joost,

Wednesday, July 23, 2008, 10:46:44 PM, you wrote:

JvdS> You could override the TDataset.DataConvert procedure or the
JvdS> TDataset.Translate procedure and set the Transliterate property to true
JvdS> of the TStringFields of which you want to convert the data.

JvdS> If you e.g. use a TSQLQuery, you can add your own
JvdS> TTransSQLQuery=class(TSQLQuery) and override one of the above
JvdS> procedures.

Hmmm... it sounds interesting and "quite" simple to transform in full
unicode when the DB be upgraded to unicode too.

This means that I must create my own visual object derived from i.e.
TSQLQuery and add it to the lazarus components, but at least looks
like a good option if I'm not able to find a "automagical" way to do
it without special components.

A lot of thanks.

  </pre>
</blockquote>
</body>
</html>