Subject | RE: [IBO] Error when using UTF8 charset during metadata queries? |
---|---|
Author | Helen Borrie |
Post date | 2007-02-23T23:06:56Z |
At 08:39 AM 24/02/2007, you wrote:
an example. Suppose you have a charset called XYZ_XX:
insert into employee (Emp_ID, Last_Name, First_Name)
values (1234, _XYZ_XX 'Smith', _XYZ_XX 'John Joseph')
Problems come from the fact that the introducer only works with
literals. It doesn't work with parameters; so this doesn't work:
insert into employee (Emp_ID, Last_Name, First_Name)
values (1234, _XYZ_XX :last_name, _XYZ_XX :first_name')
But IBO doesn't like the introducer syntax at all. Even a literal
use of it will throw an IBO error unless you use the SQL:: prefix to
force IBO to pass the statement without parsing it.
Considering some of Stefan's and Martijn's comments here and in
Firebird-support, I'm actually kinda-wondering whether it's widely
known that you can set up your controls to display locale-specific
characters....? Look at the Font property: you need to choose a
font that supports all of the characters you want to display, e.g.
Lucida Sans Unicode for guess-what, and you select the font's Charset
property to enable Windows to display something readable.
This is a GUI mechanism though...it's a while since I was messing
around with it but I don't think I ever persuaded it to pass the
correct bytes with AsString or AsWideString. (AsWideString seemed to
be a no-no as it bluntly breaks strings into 4-byte chunks!) I could
certainly get Chinese and Russian characters to display from a
database/client both having UNICODE_FSS as their character set. The
VCL is a blunt instrument w.r.t. Unicode but, from inquiries at the
time, it seems you can buy an international language support pack
from Borland~~~~Codegear to improve handling of charsets. Haven't
tried it though (Megabucks!)
Helen
>I don't know what to do about this issue.It would be nice if IBO would handle the introducer syntax. Here's
>It seems there is a need of some kind of transliteration.
>Where do we look first?
an example. Suppose you have a charset called XYZ_XX:
insert into employee (Emp_ID, Last_Name, First_Name)
values (1234, _XYZ_XX 'Smith', _XYZ_XX 'John Joseph')
Problems come from the fact that the introducer only works with
literals. It doesn't work with parameters; so this doesn't work:
insert into employee (Emp_ID, Last_Name, First_Name)
values (1234, _XYZ_XX :last_name, _XYZ_XX :first_name')
But IBO doesn't like the introducer syntax at all. Even a literal
use of it will throw an IBO error unless you use the SQL:: prefix to
force IBO to pass the statement without parsing it.
Considering some of Stefan's and Martijn's comments here and in
Firebird-support, I'm actually kinda-wondering whether it's widely
known that you can set up your controls to display locale-specific
characters....? Look at the Font property: you need to choose a
font that supports all of the characters you want to display, e.g.
Lucida Sans Unicode for guess-what, and you select the font's Charset
property to enable Windows to display something readable.
This is a GUI mechanism though...it's a while since I was messing
around with it but I don't think I ever persuaded it to pass the
correct bytes with AsString or AsWideString. (AsWideString seemed to
be a no-no as it bluntly breaks strings into 4-byte chunks!) I could
certainly get Chinese and Russian characters to display from a
database/client both having UNICODE_FSS as their character set. The
VCL is a blunt instrument w.r.t. Unicode but, from inquiries at the
time, it seems you can buy an international language support pack
from Borland~~~~Codegear to improve handling of charsets. Haven't
tried it though (Megabucks!)
Helen