此查询工作正常:
set character_set_client = utf8
utf8mb4, big5, dec8, cp850, hp8, koi8r, latin1, latin2, swe7, ascii, ujis, sjis, hebrew, etc也一样。
但是,当我尝试
set character_set_client = utf16
或set character_set_client = utf32
时,它们不起作用:#1231-变量“character\u set\u client”不能设置为“utf16”的值
#1231-变量“character\u set\u client”不能设置为“utf32”的值
为什么命令不起作用?
如何使MySQL
character_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等)交谈之外,这是一个糟糕的选择。