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' 指定按照某个配置文件进行启动