linux服务器下mysql的中文乱码问题(解决)
来源:互联网 发布:windows git 版本升级 编辑:程序博客网 时间:2024/05/24 05:37
linux下则需要修改/etc/my.cnf,在[mysqld]下加入default-character-set = utf8,[client]下加入default-character-set = utf8,在[mysql]字段里加入default-character-set=utf8
注:若没有[cllient] 则自行加入即可
实现:
1.查看原编码
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
2.修改/etc/my.cnf,分别在[client]字段里添加default-character-set=utf8,在[mysqld]字段添加character-set-server=utf8。[mysql]字段根据需要自行加入。
# vim /etc/my.cnf //添加default-character-set=utf8
代码如下复制代码[client]
port = 3306
socket = /var/lib/mysql/mysql.sock
default-character-set=utf8
[mysqld]
port = 3306
socket = /var/lib/mysql/mysql.sock
character-set-server=utf8
[mysql]
no-auto-rehash
default-character-set=utf8修改完成后,service mysql restart重启mysql服务器,使用SHOW VARIABLES LIKE ‘character%’;查看,发现数据库编码全已改成utf8
代码如下复制代码mysql> show variables like 'character%';+--------------------------+----------------------------------------+
| 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/mysql/charsets/ |
+--------------------------+----------------------------------------+
3.如果上面的都修改了还乱码,那剩下问题就一定在connection连接层上。解决方法是在发送查询前执行一下下面这句(直接写在SQL文件的最前面):
代码如下复制代码SET NAMES ‘utf8′;
它相当于以下三指令:
代码如下复制代码SET character_set_client = utf8;SET character_set_results = utf8;
SET character_set_connection = utf8;
附录:
朋友的一个站点转到我这边。导入mysql时,mysql还是latin的编码,因此,虽然按上面的步骤,在/etc/my.cnf文件中[client],[mysqld],[mysql]字段里添加default-character-set=utf8,但站点部分中文是乱码。在将mysql编辑改为utf8再重新导入数据库后,就正常了。
估计是mysql是latin编码是,导入数据时,因为mysql无法识别,直接将数据保存成了???这种乱码的形式了
- linux服务器下mysql的中文乱码问题(解决)
- linux 下,解决tomcat服务器接收中文乱码的问题
- Linux下解决mysql中文乱码问题
- linux下解决JSP与MYSQL的中文乱码问题
- 解决Linux下中文乱码的问题
- ubuntu下解决mysql插入中文乱码(???)的问题
- Linux下MySQL的修改字符集编码为UTF8(解决中文乱码问题)
- Linux(ubuntu)下如何解决中文乱码的问题
- xampp下mysql linux解决中文乱码问题
- mysql mac下解决MySQL中文乱码的问题
- linux服务器解决显示中文乱码问题
- 解决linux下olt读取MySQL数据库中文乱码的问题
- linux下mysql数据库常用命令以及中文乱码问题的解决
- 在Ubuntu/Linux环境下使用MySQL:解决在Linux环境下MySQL中文乱码的问题
- java下mysql中文乱码问题的解决
- 解决mac下MySQL插入中文显示乱码的问题
- mac下解决MySQL中文乱码的问题
- Web_PHP_MySQL_XAMPP下MYSQL中文乱码问题的解决
- 关于hashmap使用迭代器的问题
- Linux TCP/IP网络小课堂:net-tools与iproute2大比较
- Spring中@Transactional事务回滚(含实例详细讲解,附源码)
- Android如何关闭硬件加速
- Android Notifications
- linux服务器下mysql的中文乱码问题(解决)
- 数据库查询语句总结
- typedef + 指针 用法说明
- SPOOLing技术的再思考
- Linux一些常用命令
- vagrant配置多机多节点
- Sqoop详细介绍包括:sqoop命令,原理,流程
- Android解决NDK not configured问题
- ueditor出现UE.getEditor('editor');没定义解决方法