所以我遵循了这里的“教程”:
http://outofcontrol.ca/blog/comments/change-mysql-5.5-default-character-set-to-utf8在此之后,linux上的MySQL5.7服务器进行了正确的更新,一切都如我所料。
但是,我在我的开发机器Macbook Pro,El Capitan上也这样做了,我看到了以下内容:
character_set_client utf8
character_set_connection utf8
**character_set_database latin1**
character_set_filesystem binary
character_set_results utf8
character_set_server utf8
character_set_system utf8
character_sets_dir /usr/local/mysql-5.6.10-osx10.7-x86_64/share/charsets/为什么这仍然是latin1?更新为utf8的其他条目在linux上工作。
发布于 2016-02-03 03:53:39
character_set_database几乎毫无用处。不必为那事担心了。
创建表时,显式地声明
CREATE TABLE (...) ... CHARACTER SET utf8;这可以帮助您避免当前或将来可能发生的对默认值的各种更改。
实际上,未来很可能是utf8mb4和排序utf8mb4_unicode_520_ci。
只要你要去5.7,你也可以去那个组合。utf8mb4允许您访问Emoji和其余的汉字集;520排序规则可以说是“更正确”。
你给出的链接有点弱--它不能解释如何转换你拥有的任何数据。
通过更改您提到的设置,不会更改现有表。
那么,总体情况是什么呢?你有现有的数据吗?在utf8还是latin1?您正在进行更新吗?或者倾倒和重新装填?等。
https://stackoverflow.com/questions/35167368
复制相似问题