[Lazarus] Losing data when saving Database fileds with "Size" defined and UTF8 chars

Reinier Olislagers reinierolislagers at gmail.com
Tue Jul 16 19:14:44 CEST 2013

On 16/07/2013 17:18, Hans-Peter Diettrich wrote:
> Reinier Olislagers schrieb:
>> On 15-7-2013 18:43, Hans-Peter Diettrich wrote:
>>> Reinier Olislagers schrieb:
>>>> On 14-7-2013 8:00, Daniel Simoes de Ameida wrote:
>>>> Workaround: make your field size as large as the maximum number of UTF8
>>>> bytes you expect.
>>> Another workaround: use the appropriate codepage for storing strings in
>>> the database, so that all characters are single bytes. With the new
>>> (encoded) AnsiStrings this should be quite easy (automatic conversion).
>> Wouldn't you run into trouble if you want to use a character outside the
>> codepage? Presumably OP has enabled UTF8 on the db instead of some other
>> codepage on purpose.
> Then the choice of byte sized characters in the DB field is
> inappropriate at all. I wonder how the DB or SQL would sort or compare
> (LIKE) such strings?

No it isn't. Why shouldn't a user be able to enter Chinese, Greek,
Cyrillic and Latin characters?
As for sorting etc, there are various unicode collation standards.

More information about the Lazarus mailing list