Using AL32UTF8 or ZHS16GBK Characterset
406866Oct 19 2003 — edited Oct 21 2003Hi,
Currently, our database is using AL32UTF8 as the characterset but we need to store some Simplified Chinese data in tables.
I know what AL32UTF8 characterset is able to store Simplified Chinese data but not being able to sort the Chinese character by Han yu pin yin (By default). The default is by Binary.
I also know that ZHS16GBK characterset is able to store Simplified Chinese and the default sorting is by Han yu pin yin, which is what I want.
1. So I just wonder what type of characterset should I use, AL32UTF8 or ZHS16GBK?
2. AL32UTF8 is an unicode characterset which can support multi-language but ZHS16GBK characterset can only store Simplified Chinese? Am I right? What about English words, can ZHS16GBK characterset being able to store English words?
3.Which is the recommended Characterset to use for my case?
4. If I choose to set my characterset as AL32UTF8 but I want all the Simplified Chinese data to be sort by Han yu pin yin, how should I do?
5. I read one of the documentation and it state that I can set the NLS_SORT in the nls_Session_parameters to SCHINESE_PINYIN_M. After setting the session parameters, I want into SQLPLUS and execute a select statement (e.g. select short_name from client order by short_name) and the Simplified Chinese short name retrieve is sorted by Han yu pin yin. But when my application (NOT through SQLPLUS) execute the same select statement, the result is not sorted by Han yu pin yin. Why is this so? Did I miss out anything?
6. Lastly, I tried to set the NLS_SORT in the instance parameters as well by changing the spfile but the application using the select statement still cannot sort the Simplified Chinese data by Han yu pin yin. What should I do?