如何让MySQL character_set_connection与utf16一起工作?

时间:2014-12-09 08:09:49

标签: php mysql unicode character-encoding phpmyadmin

此查询正常工作:

set character_set_client = utf8

同样适用于utf8mb4, big5, dec8, cp850, hp8, koi8r, latin1, latin2, swe7, ascii, ujis, sjis, hebrew, etc

但是,当我尝试set character_set_client = utf16set character_set_client = utf32时,他们无法工作:

  

#1231 - 变量' character_set_client'无法设置为' utf16'的值

     

#1231 - 变量' character_set_client'无法设置为' utf32'

的值

为什么这些命令不起作用?

我们怎样才能让MySQL character_set_client与utf16 / 32一起工作?

1 个答案:

答案 0 :(得分:1)

你不能。

  

MySQL docs仅声明ucs2不能使用:

那是5.0 doc链接。 5.5 says

  

ucs2,utf16和utf32不能用作客户端字符集

和5.6添加了utf16le。基本上MySQL期望查询采用ASCII兼容编码,这里的每个doc版本都列出了MySQL版本所知的ASCII不兼容编码。

您是否有任何特别的理由想使用UTF-16?除了与其他UTF-16环境(Win32 API,Java等)交谈之外,它通常是一个糟糕的选择。