I installed MySQL 5.7.8 on my Ubuntu 14.04.
But I can't modify MySQL default charset. I want to change charset to utf8.
I've searched and view many articles on the internet, but every method that I tried don't apply for me.
I already add 'character-set-server=utf8' and 'collation-server=utf8_general_ci' in /etc/mysql/my.cnf. but it's not working…
How can I change my charset of MySQL? Please answer to me!
-
Status in MySQL
Connection: Localhost via UNIX socket Server characterset: latin1 Db characterset: latin1 Client characterset: utf8 Conn. characterset: utf8 UNIX socket: /var/run/mysqld/mysqld.sock Uptime: 1 min 24 sec
-
show variables like 'c%'
| character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | latin1 | | character_set_filesystem | binary | | character_set_results | utf8 | | character_set_server | latin1 | | character_set_system | utf8 | | character_sets_dir | /usr/share/mysql/charsets/ | | check_proxy_users | OFF | | collation_connection | utf8_general_ci | | collation_database | latin1_swedish_ci | | collation_server | latin1_swedish_ci | | completion_type | NO_CHAIN | | concurrent_insert | AUTO | | connect_timeout | 10 | | core_file | OFF |
-
my.cnf (in /etc/mysql)
[mysqld] # # * Basic Settings # character-set-server=utf8 collation-server=utf8_general_ci user = mysql pid-file = /var/run/mysqld/mysqld.pid socket = /var/run/mysqld/mysqld.sock port = 3306 basedir = /usr datadir = /var/lib/mysql tmpdir = /tmp lc-messages-dir = /usr/share/mysql skip-external-locking character-set-server=utf8 collation-server=utf8_general_ci init_connect=set collation_connection=utf8_general_ci init_connect=set names utf8 character-set-client-handshake=FALSE
Best Answer
character set
andcollation
for the MySQL server:sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
Then press i and add the following:
Press Esc then :w then :q!
Then restart the server:
Check your configuration:
character set
andcollation
for the database and tables:Specify it explicitly when creating the database:
CREATE DATABASE some_database CHARACTER SET utf8 COLLATE utf8_general_ci;
Check your configuration: