[fpc-pascal] TSQLQuery.ApplyUpdates problem with UTF-8

LacaK lacak at zoznam.sk
Tue Mar 18 09:03:37 CET 2014


Dennis Poon  wrote / napĂ­sal(a):
>
>
> Dennis Poon wrote:
>>
>>
>> Michael Van Canneyt wrote:
>>>
>>>
>>> On Fri, 14 Mar 2014, Dennis Poon wrote:
>>>
>>>> the content appeared as garbage.
>>>>
>>>> I already specified the CHARSET=utf8  in the Create Table SQL.
>>>
>>> Did you set the TSQLConnection.Charset property to UTF8 as well ?
>>>
>>
>> I set it to utf8 (UTF-8 will raise exception)  but still appears as 
>> garbage.
>>
>> I wrote a test UI program use TDBGrid to edit the text with chinese 
>> and then refresh it.
So when you first time read data from MySQL then they are displayed 
correctly.
And only after editing, Posting, ApplyingUpdates and reading back are 
character data displayed incorrectly ?

>> The chinese text, after refreshing, appears as ???
>>
>
> I even tried TSQLScript but it also failed and the chinese values 
> appear as ??? in the updated record.
> I suspect that TSQLConnection (or only when it works with MYSQL) 
> failed to handle multi-byte charset.
MySQL Connection only takes string data as are stored in TField (or 
TParam) and forwards them to underlying mysql client library.
Can you prepare any simple test application (with CREATE TABLE, fill 
data etc.) which will show problem ?

-Laco.




More information about the fpc-pascal mailing list