Do I have to change my Locale or database Encoding to enable LOWER() ?
| От | 江文 |
|---|---|
| Тема | Do I have to change my Locale or database Encoding to enable LOWER() ? |
| Дата | |
| Msg-id | 13979541.1110791211578.JavaMail.postfix@mx37.mail.sohu.com обсуждение исходный текст |
| Список | pgsql-admin |
Hello Hackers,
I store some information of manufacturing materials in a table, and in this table there's a column storing
material'sname. These names are mixed with Chinese characters and English characters.
To convert all English characters in material names into lower cases, I wrote a query: SELECT
LOWER("ChineseDesc")FROM "Materials";
Then Postgres reported an error:
ERROR: invalid multibyte character for locale
HINT: The server's LC_CTYPE locale is probably incompatible with the database encoding.
After some googling I found out it's caused by the settings of LC_CTYPE & Encoding of the database.
Here's my db's settings:
My LC_CTYPE is set to Chinese_People's Republic of China.936 and I'm using UNICODE as this database's encoding.
But still I'm puzzled:
Which encoding to choose for my database or do I have to change my Locale setting? I prefer to stay with UNICODE,
becauseI don't want to see my data clearly in PGAdmin 3 instead of *&^%$#@ .
Any suggestions will be appreicated!
Thanks in advance,
Henry
------------------------------------------
弄懂了PostgreSQL, 就知道了什么才是共产主义
В списке pgsql-admin по дате отправления: