Encoding for cross-Platform DB with V4RB 1.x

Frank Bitterlich bitterlich at gsco.de
Mon Sep 5 17:58:58 CDT 2005


PROBLEM SOLVED!!!!

Not really a "bug" in Valentina; but rather a limitation in the  
"like" search.

The field in question was filled with all-uppercase letters, and the  
search used "no_case". The problem here is that the data in the  
database appears to be stored as MacRoman; so when Valentina gets a  
query like

    select * from ABC where ADRESSE like 'ü' no_case

it would find any record that contained a lowercase or uppercase "ü"  
in Windows Latin. But a MacRoman uppercase "Ü" looks like something  
different in Windows, and that cannot be "lower-cased" (maybe it can,  
but it wouldn't be the same character that is represented by a  
lowercase MacRoman "ü" in Windows Latin).

So, how to solve this? Hard to tell. My workaround is to pre-convert  
the search term to uppercase in RB. But you can't do a real case- 
insensitive search on arbitrary strings this way. Maybe V4RB should  
recognize/remember the encoding of the database, and apply the  
specific case-conversion code; or maybe it should store the data  
internally in a cross-platform way - UTF8, for example.

Does 2.0 use ITF8 internally?

Cheers,
    Frank+++

Am 05.09.2005 um 17:32 schrieb Frank Bitterlich:

> Okay, now it gets funny.
>
> The problem is not the Encoding itself; the problem is one field.
>
> If I search in field "ZUNAME" using non-ASCII characters, it works.  
> If I search in "ADRESSE", it doesn't. "ZUNAME" is VarChar[30], and  
> ADRESSE is VarChar[99]. Both are indexed. Same table. ADRESSE is  
> the last field in that table.
>
> Could this be a bug? I have re-created the database numerous times,  
> same result. Happens on Windows only. Using V4RB 1.11.
>
> Any ideas? Ruslan?
>
> Thanks,
>    Frank+++
>

-- 

Günter Schmidt & Co. oHG
Frank Bitterlich             eMail: bitterlich at gsco.de
Schlosserstr. 4              WWW:   http://www.gsco.de/
D-60322 Frankfurt            Tel.:  069 / 156809-29
GERMANY                      Fax:   069 / 156809-28




More information about the Valentina mailing list