Support forum of the software localization tool Sisulizer


.NET, Delphi, ... - Sisulizer Localization Tool Support Home

Get in contact with the makers of Sisulizer.
Our forum is open for all questions around Sisulizer from customers and prospects.
Don't hesitate to register and ask. The Sisulizer team will answer ASAP.

Search     Help Home Sisulizer Website Download
Search by username
Not logged in - Login | Register 

 Moderated by: Renate.Reinartz, Markus.Kreisel, Jaakko.Salmenius, Ilkka.Salmenius
New Topic Reply Printer Friendly
InterBase "cannot transliterate character between character sets" error - Bugs and Quirks in Sisulizer - Technical Support (You need to be registered at the forum to write) - .NET, Delphi, ... - Sisulizer Localization Tool Support
AuthorPost
 Posted: Mon Aug 7th, 2006 10:19 am
PM Private Upload Quote Reply
akahanek
Member
 

Joined: Mon Aug 7th, 2006
Location: Czech Republic
Posts: 7
Status: 
Offline
Hi,
I use Interbase db server to store language translations.

I make some translations, then I try to use the "Build item" button and the followin error occurs:

"cannot transliterate character between character sets"

In our database we use the WIN1250 charset and I suspect, that Sisulizer uses another one, maybe ASCII (or none and ASCII is used as default) and this could be the source of this kind of problems.

Is the database suposed to be in UNICODE_FSS charset or what could be the solution?

Thank you



____________________
Ales
Back To Top PM Private Upload Quote Reply

 Posted: Mon Aug 7th, 2006 10:28 am
PM Private Upload Quote Reply
Jaakko.Salmenius
Administrator


Joined: Sat Apr 8th, 2006
Location: Espoo, Finland
Posts: 2275
Status: 
Offline
Hi,

Windows code page 1250 is Eastern European code page. It is compatible to Polish, Czech, Slovak, etc. If your application contains Western European languages such as German or French Sisulizer is using Windows code page 1252. You can change this by right clicking the source in the project tree and choosing Properties and selecting Encodings sheet. However code page 1250 can not fully write German and French.

What are the languages in your project?

Can you send your project fiel (.slp) and the SQL srcipt that you used to create Interbase database to support (at) sisulizer.com

What is your Interbase version and dialect it uses?

Best regards,

Jaakko

Last edited on Tue Mar 27th, 2007 02:46 am by Jaakko.Salmenius



____________________
http://www.sisulizer.com - Three simple steps to localize
Back To Top PM Private Upload Quote Reply

 Posted: Mon Aug 7th, 2006 10:30 am
PM Private Upload Quote Reply
Jaakko.Salmenius
Administrator


Joined: Sat Apr 8th, 2006
Location: Espoo, Finland
Posts: 2275
Status: 
Offline
One more thing. Unicode is not needed but if you use code pages you should not limit it to 1250.

Jaakko



____________________
http://www.sisulizer.com - Three simple steps to localize
Back To Top PM Private Upload Quote Reply

 Posted: Mon Aug 7th, 2006 10:54 am
PM Private Upload Quote Reply
akahanek
Member
 

Joined: Mon Aug 7th, 2006
Location: Czech Republic
Posts: 7
Status: 
Offline
I tried to tweak this and found the following:

I have created a new database with some test tables. I did not use any charset specification to the string fields. Then Sisulizer works fine, updates go through smoothly. But ....

When I created a table with some string fields with UNICODE_FSS charset, then the connection should be made also with UNICODE_FSS charset to avoid the "cannot transliterate charset ..." error. But obviously Sisulizer does not have any option to specify the charset and the error is raised then.

What do you think about it? Did you try to use fields with another than NONE charset? Could you try it?

Thanks for help (We are before the decision to buy or not to buy Sisulizer Enterprise and this is very important to us)



____________________
Ales
Back To Top PM Private Upload Quote Reply

 Posted: Mon Aug 7th, 2006 10:59 am
PM Private Upload Quote Reply
Jaakko.Salmenius
Administrator


Joined: Sat Apr 8th, 2006
Location: Espoo, Finland
Posts: 2275
Status: 
Offline
I start testing today. What is your Interbase version?

Best regards,

Jaakko



____________________
http://www.sisulizer.com - Three simple steps to localize
Back To Top PM Private Upload Quote Reply

 Posted: Mon Aug 7th, 2006 11:09 am
PM Private Upload Quote Reply
akahanek
Member
 

Joined: Mon Aug 7th, 2006
Location: Czech Republic
Posts: 7
Status: 
Offline
In fact we use Firebird 1.5.3, but it should not be the problem.

Last edited on Mon Aug 7th, 2006 11:10 am by akahanek



____________________
Ales
Back To Top PM Private Upload Quote Reply

 Posted: Mon Aug 7th, 2006 11:16 am
PM Private Upload Quote Reply
Jaakko.Salmenius
Administrator


Joined: Sat Apr 8th, 2006
Location: Espoo, Finland
Posts: 2275
Status: 
Offline
OK. I will start testing characters sets now. I let you know how is procees.



____________________
http://www.sisulizer.com - Three simple steps to localize
Back To Top PM Private Upload Quote Reply

 Posted: Mon Aug 7th, 2006 11:29 am
PM Private Upload Quote Reply
akahanek
Member
 

Joined: Mon Aug 7th, 2006
Location: Czech Republic
Posts: 7
Status: 
Offline
Thanks. As for me - now I think, that the localization field shoud not use any charset to work with Sisulizer. I will test this too.



____________________
Ales
Back To Top PM Private Upload Quote Reply

 Posted: Mon Aug 7th, 2006 03:39 pm
PM Private Upload Quote Reply
akahanek
Member
 

Joined: Mon Aug 7th, 2006
Location: Czech Republic
Posts: 7
Status: 
Offline
I did some tests and there is my solution:
  • when connected to database with NONE charset and the VARCHAR fields have some charset specified, special 'national' characters cannot be inserted/updated in the database (some charset should be specified when connecting the DB)
  • when connected to DB with some charset (e.g. WIN1250), some chars specific to another charset (e.g. WIN1252) are not written to DB properly
  • the db should be connected with NONE charset and all the translated data fields shoud also have NONE charset, then Sisulizer works fine
  • after transation is finished, proper move of the translated data should be moved to the target database (not tested yet, but this should not be a problem) - simply "German" data to the "German database", "French" data to the "French databaset" etc.
This scenario is not an issue for me, because now I do not need to have data based on multiple charsets in one DB. But could be for somebody else.

This situation could improve with Firebird 2.0 and the new UTF8 charset. The current UNICODE_FSS has several problems and is deprecated.



____________________
Ales
Back To Top PM Private Upload Quote Reply

 Posted: Tue Aug 8th, 2006 01:39 pm
PM Private Upload Quote Reply
Jaakko.Salmenius
Administrator


Joined: Sat Apr 8th, 2006
Location: Espoo, Finland
Posts: 2275
Status: 
Offline
Hi,

This is how database writing and reading works.

Internally Sisulizer always stores everyting in Unicode (UTF-16LE). When creating localized files or database fields data needs to be converted. The method is:

1) If a field is an Unicode field (e.g. WIDEVARCHAR), Sisulizer always read and writes values in Unicode. So there is not conversion.

2) If a field is not an Unicode field (e.g. VARCHAR or BLOB), Sisulizer converts the Unicode string to a code page strings. Source property dialog (right click the database name in the project tree and choose Properties) has an encoding sheet that specifies what code pages is used with each language. The default code page is the default Windows code page of that language. For example for German, English and French it is 1252, for Polish it is 1250, for Japanese it is 936, etc.

Now this is where the problem arises if you have a table or field having a caracter set restrictions. When writing Interbase checks if the string stream is valid string of that character set. I don't know how the checking is done but there might be a lookup table or something. This is a bit odd because from binary point of view string stream of 1250 and 1252 are identical. There is not 100% sure way to detect it.

Anyway somehow Interbase fails to write string having different code page. Anyway I failed to reproduce this.

The best way is to have charcter set restriction set to NONE. However if you need to have it 1250 please send me the SQL script of your table and also the string and its translations that fails to write.

Best regards,

Jaakko



____________________
http://www.sisulizer.com - Three simple steps to localize
Back To Top PM Private Upload Quote Reply

Current time is 07:11 am  
.NET, Delphi, ... - Sisulizer Localization Tool Support > Technical Support (You need to be registered at the forum to write) > Bugs and Quirks in Sisulizer > InterBase "cannot transliterate character between character sets" error



WowUltra modified by Sisulizer Copyright © 2007-09 by Jim Hale - Based on WowBB Copyright © 2003-2006 Aycan Gulez

Sisulizer software localization tool - Three simple steps to localize