如何在ubuntu中修改mysql的中文字符
发布网友
发布时间:2022-04-26 06:53
我来回答
共2个回答
懂视网
时间:2022-04-08 01:32
在[mysql]的下方加入如下语句:
no-auto-rehash
default-character-set=utf8
/etc/mysql/mysql.conf.d/mysqld.cnf
在[mysqld]下加入
socket = /var/run/mysqld/mysqld.sock
port = 3306
character-set-server=utf8 等内容,自行对比,有的就不用加了,一般只需要加入 character-set-server=utf8
这时候shell 进入mysql,执行:show variables like ‘character%‘ , 结果如图:
重启mysql: sudo /etc/init.d/mysql restart
Error Code: 1366. Incorrect string value: ‘xE5xBCxA0xE4xB8x89‘ for column ‘ename‘ at row 1
这是因为该表的字符集不支持中文所致,执行show create table new_table 查看建表语句可知
解决办法:将该表删除,新建
Ubuntu下mysql5.6解决不支持中文的办法
标签:
热心网友
时间:2022-04-07 22:40
数据库中中文乱码解决:
设置server级,db级,table级使用的字符集为utf8。
设置方法:
查看mysql字符集状态:
先使用客户端工具mysql登录:
[plain] view plaincopy
mysql> status
--------------
mysql Ver 14.14 Distrib 5.5.29, for linux2.6 (i686) using readline 5.1
Connection id: 2
Current database:
Current user: root@localhost
SSL: Not in use
Current pager: stdout
Using outfile: ''
Using delimiter: ;
Server version: 5.5.29-log MySQL Community Server (GPL)
Protocol version: 10
Connection: Localhost via UNIX socket
Server characterset: utf8
Db characterset: utf8
Client characterset: utf8
Conn. characterset: utf8
UNIX socket: /tmp/mysql.sock
Uptime: 1 min 10 sec
设置server级字符集:
编辑 /etc/my.cnf文件
[java] view plaincopy
[client]
default-character-set=utf8
[mysqld]
character_set_server=utf8
注:[mysqld]处也可使用default-character-set=utf8,如果启动mysql服务出错的话,就使用character_set_server=utf8。
设置db级字符集:
创建数据库是指定:
mysql> create database mytest character set utf8;
修改已有数据库字符集:
[plain] view plaincopy
mysql> alter database character set utf8;
设置表字符集:
创建表时指定:
[java] view plaincopy
mysql> create table mytable(id int auto_increment primary key) character set utf8;
修改表的字符集:
[plain] view plaincopy
mysql> alter table mytable character set latin1;
如果数据中要存放中文字符, 推荐使用utf8。
还有就是修改字符集只对之后添加的数据有效,已存在的数据不会改变