我正在尝试将我的网站完全切换到UTF-8,所以我不必处理utf8_encode()& utf8_decode()函数。
我正确设置了表格的排序规则,我暂时使用查询SET NAMES utf8
来覆盖my.cnf文件。
我的问题是 - my.cnf中有大量的字符集和校对变量,我怀疑某些字符集应该被单独存在...我应该改变哪些来实现SET NAMES utf8
的效果?
(我的表格整理为utf8_unicode_ci
。)
character_set_client | latin1 |
character_set_connection | latin1 |
character_set_database | latin1 |
character_set_filesystem | binary |
character_set_results | latin1 |
character_set_server | latin1 |
character_set_system | utf8 |
collation_connection | latin1_swedish_ci |
collation_database | latin1_swedish_ci |
collation_server | latin1_swedish_ci |
答案 0 :(得分:0)
好吧,整理主要用于排序,所以除非您存储具有特定排序需求的lnaguage,否则utf8_unicode_ci
应该没问题。
character_set_*
值在内部用于所有其他字符串操作 - 在WHERE子句或IF / CASE语句等地方进行值检查,字符串函数如CHAR_LENGTH(),REPLACE(),SUBSTRING() - 那种东西。
一般来说,除了filesystem之外,所有都应该是相同的(在这种情况下,utf8
) - 我建议将其保留为二进制,除非你有一个具体需要远离那个。