此查询工作正常:

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\u set\u client”不能设置为“utf16”的值
#1231-变量“character\u set\u client”不能设置为“utf32”的值
为什么命令不起作用?
如何使MySQLcharacter_set_client与utf16/32协同工作?

最佳答案

你不能。
MySQL docs only stated ucs2不能使用:
那是5.0文档链接。5.5says
ucs2、utf16和utf32不能用作客户端字符集
5.6增加了utf16le。从本质上讲,MySQL希望查询采用ASCII兼容编码,这里的每个文档版本都列出了MySQL版本所知道的ASCII不兼容编码。
你喜欢使用UTF-16有什么特别的原因吗?一般来说,除了与其他UTF-16环境(Win32 API、Java等)交谈之外,这是一个糟糕的选择。

09-06 23:58