Linux下安装的mysql数据库插入中文乱码或sql查询语句条件中有中文查不到数据
来源:互联网 发布:淘宝外卖优惠券怎么领 编辑:程序博客网 时间:2024/05/16 09:26
问题描述:Linux下的mysql数据库表中插入中文乱码,或sql查询语句条件中有中文查不到数据,但是数据表中已有的中文读取出来不乱码
解决方法如下,我在网上找了别人的解决方法,并整理了出来.
首先在登录mysql的情况向使用 show variables like ‘%char%’; 查看下当前编码,发现有的是utf8,有的不是,server和database都不是utf8,而是latin1,
我在网上找解决方法,说可以在mysql的配置文件中修改,文件为/etc/my.cnf.
可是在/etc 目录下找不到my.cnf 配置文件。最后查明了原因:
1、本机的mysql版本是5.6的,5.6及以上配置文件是my-default.conf ,5.5及以下版本为 my.cnf
2、本机的mysql安装包是rpm的,所以不会自带my.cnf 或者my-defaule.cnf
找到这两个原因就好解决了,从mysql的安装目录复制一份my-default.cnf 文件到 /etc/my.cnf
cp /usr/share/mysql/my-default.cnf /etc/my.cnf
(或者自己在etc下新建一个也行,添加下如下内容)
接着下一步修改my.cnf 文件配置如下(没有就加上):
#/etc/my.cnf [client]default-character-set=utf8 [mysqld]datadir=/var/lib/mysqlsocket=/var/lib/mysql/mysql.sockuser=mysql# Disabling symbolic-links is recommended to prevent assorted security riskssymbolic-links=0#default-character-set=utf8character-set-server=utf8init_connect='SET NAMES utf8' [mysql]no-auto-rehashdefault-character-set=utf8 [mysqld_safe]log-error=/var/log/mysqld.logpid-file=/var/run/mysqld/mysqld.pid
:wq!
保存后,重启mysql服务:service mysql restart
重启成功后,使用 mysql -u root -p 登录客户端后,再查一下字符集:
看到字符集已经改了,
创建一个数据库和数据表,插入一条中文数据,发现没问题了。
阅读全文
0 0
- Linux下安装的mysql数据库插入中文乱码或sql查询语句条件中有中文查不到数据
- 以中文为查询条件查询mysql数据库时有数据却查不到数据或者中文乱码的问题
- plsql中,sql语句中带有中文的查询条件查询不到数据
- 数据库中有数据,pl/sql 中查询中文字符是查询不到数据
- plsql查询带中文的sql语句查询不到数据
- linux下查询MySQL中文数据乱码
- 在X3里读取不到sql语句查询中有中文的记录
- Mysql插入数据中文问号或乱码
- s2sh向数据库插入数据,控制台有打印sql语句,数据库查询不到数据问题
- s2sh向数据库插入数据,控制台有打印sql语句,数据库查询不到数据问题
- Mysql中文查不到数据的问题
- Linux下Mysql插入中文数据乱码解决
- Linux 下mysql插入数据出现中文乱码
- mysql数据库插入数据中文乱码
- MySQL数据库插入数据,中文乱码问题解决
- MySQL数据库插入中文数据乱码问题
- mysql数据库插入数据中文乱码问题
- MySQL中文查询不到数据的解决方案
- 测试实习随笔(二)
- 堆排序算法解析
- HTTP协议
- Linux samba
- 线程的五种状态
- Linux下安装的mysql数据库插入中文乱码或sql查询语句条件中有中文查不到数据
- [ndk] no archive symbol table (run ranlib)
- 滑动窗口求满足的子数组个数
- 数组中出现次数超过一半的数字
- CSS3 基础(1)——选择器详解
- BitTorrent
- maven项目中的pom.xml文件
- struts2中action返回json时的配置(后面包含跨域时配置)
- JAVA学习篇--Servlet详解