Mysql插入中文数据乱码,网上说修改my.cof,可我的电脑里没有这个文件(/etc/my.cnf /etc/mysql/my.cnf /usr/etc/my.cnf ~/.my.cnf 都没有)
我先停用mysql,再新建my.cof文件输入类似:
character_set_server=utf8
init_connect='SET NAMES utf8'
或者stackoverflow上其它的都试了,再启动mysql还是显示:
mysql> show variables like '%character%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| 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/ |
+--------------------------+----------------------------+
直接创建文件是不是不行?请问有默认模板吗?另外我是apt-get安装的mysql
崩溃中。。。请大神指点,感激不尽
环境:
ubuntu14.04
mysql5.5.41
14.04用sudo apt-get install mysql-server是存在檔案/etc/mysql/my.cnf的.
/usr/bin/mysql --help|grep -B 1 /etc/mysql/my.cnf
Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf /usr/etc/my.cnf ~/.my.cnf
後面的優先權更高,建議只保留一個設定檔/etc/mysql/my.cnf.
內容:
apt-get download mysql-common 下載這個包,裡面有個這個檔案.
在配置裡的[mysqld]下加入:
character_set_server=utf8
另外,注意建立資料庫和表格時也指定編碼:
連接資料庫時也制定編碼,例如PHP:
頁輸出也指定UTF-8編碼:
編輯器和IDE裡也使用UTF-8編碼,統一下來後就不會亂碼了.
這個設定對了麼?
找找/usr/share/mysql/my.cnf,沒有的話用find指令找找:
或查看進程資訊檢視載入了哪個設定檔
mysql可以在啟動指令上加上 --defaults-file='path/to/my.cnf' 指定依照某個設定檔啟動