I have many tables like the table Person:below, in mysql database.
 
person_id, first_name,last_name, mi, gb_first_name, gb_last_name, 
b5_first_name, b5_last_name, gender, dob
 
where different columns storing strings in different encodings. At anytime, a 
web user can switch the language and the application will get the values in the 
right columns to generate web pages. The purpose of Multi-language tables is to 
make multilanguage dynamic content management easier for web applications.  For 
example, to add a person record, the user enter the English name, then switch 
the session language to gb2312, enter the Chinese name in gb2312, and then 
switch the session language to big5, enter the name in big5. And then commit 
the data into the database. The whole thing sounds complicated but can be 
treated as a pattern and let a framework to take care of those and the code can 
be as clean as a single language app. I actually have the framework that works 
well for me with mysql database.
 
I'm trying to port the app to pgsql database but got trouble doing so. I can 
read and set a row with multiple languages (in some paricular cases), but 
cannot do queries like  (gb_first_name = 'A' and b5_first_name = 'B') with A a 
gb2312 string, B a big5 string. The tables are of unicode encoded, and the 
dbclient encoding is set to GBK. The application's char set are selectable by 
user among iso-8859-1,gb2312 and big5.
 
I didn't do anything about language encoding in mysql database, it just worked 
for me. At least with english, gb2312 and big5 altogether in a table like table 
Person above. I noticed that (english, gb2312, big5, Jp) cannot work together 
even in mysql database.  My approach seems fine with most western languages
 
So after all such experimental work, I still don't know how to make a real 
multi language web app such that the languages are switchable within the same 
session. 
 
Any suggestions?  Any web application known to be able to solve the problem? 
Thanks
 
 
 
 

Reply via email to