注: mysql 5.5.40-0ubuntu0.14.04.1 (Ubuntu) 可以按此修改编码。
For the recent version of MySQL,
default-character-set = utf8
causes a problem. It's deprecated I think.
As Justin Ball says in "Upgrade to MySQL 5.5.12 and now MySQL won’t start , you should:
-
Remove that directive and you should be good.
-
Then your configuration file ('/etc/my.cnf' for example) should look like that:
[mysqld] collation-server = utf8_unicode_ci init-connect='SET NAMES utf8' character-set-server = utf8
-
Restart MySQL.
-
For making sure, your MySQL is UTF-8, run the following queries in your MySQL prompt:
-
First query:
mysql> show variables like 'char%';
The output should look like:
+--------------------------+---------------------------------+ | Variable_name | Value | +--------------------------+---------------------------------+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | utf8 | | character_set_server | utf8 | | character_set_system | utf8 | | character_sets_dir | /usr/local/mysql/share/charsets/| +--------------------------+---------------------------------+
-
Second query:
mysql> show variables like 'collation%';
And the query output is:
+----------------------+-----------------+ | Variable_name | Value | +----------------------+-----------------+ | collation_connection | utf8_general_ci | | collation_database | utf8_unicode_ci | | collation_server | utf8_unicode_ci | +----------------------+-----------------+
-