MySQL字符集乱码

学数据库,最让人丧气的就是字符集的问题了,一旦出问题,就会有砸电脑的冲动,特别是在修改很多次字符集后依然不成功的时候!

我用的数据库软件是MySQL 5.1.28。最初出问题的时候,是这样的:

情景一:每次输入(insert)命令,总是会报错,说某行某行有错,然后,我把那一行删了,再试,但是,依旧报错,只不过,提示的错误是另外的一行,直到我将语句中含有中文字符的命令全删了之后,完美通过了,没错,就是通过了;

情景二:可以插入中文字符,不报错,也没有warnings,每次用select选择表中的内容显示时,不报错,也没有warnings,但是,读出来的中文字符全变成了问号‘?‘;

这是我才发现问题,于是开始用老师教的alter来修改字符集,但是并没有什么效果。于是翻了一下书,找到一种方法,解决了这个问题。

首先,你在命令行中输入

show variables like ‘char%‘;

此条语句用于查询当前字符集编码。如果你发现其中出现下面的情况

character_set_database : latin1
character_set_results:latin1
character_set_system:Latin1
character_set_server:latin1

那么,接下来你就在命令行中输入以下命令

character_set_database:‘gbk‘
character_set_server:‘gbk‘
character_set_results:‘gbk‘
character_set_system:‘utf8‘

也可以将gbk改为utf8,此时,应该已经解决了问题。

只不过,可能重启后,字符集会不会还原,这是个未知,反正我的是不会^_^

时间: 2024-08-07 16:58:56

MySQL字符集乱码的相关文章

2017.02.21   Mysql 字符集 乱码 排错过程

1,命令行确保以下字符集一致 *1, shell的字符集 *2, connect的字符集 *3, server的字符集 *4, database, table 字符集 MySQL API 编程,命令行确保以下字符集一致 *1, code的字符集 *2, set names utf8 *3, database, table字符集 以下是调用 MySQL API  范例 [email protected]/tmp/test$ cat main.c  /*  *1, shell的字符集  *2, co

第09章 mysql 字符集

2015-10-24 目录 参考资料 [1] 唐汉明.深入浅出MySQL 数据库开发.优化与管理维护(第2版)[M].北京:人民邮电出版社,2014 [2] Schwartz.高性能MySQL(第3版)[M].北京:电子工业出版社,2013 [3] 范德兰斯.MySQL开发者SQL权威指南 [M].北京:机械工业出版社,2008 [4] Forta.MySQL必知必会 [M].北京:人民邮电出版社,2009 [5] Mysql字符集设置 [6] 修改及查看mysql数据库的字符集 [7] MyS

phpmyadmin里MySQL字符集:cp1252 West European (latin1) ,解决乱码问题

使用虚拟主机空间上的phpmyadmin操作数据库的时候,如果看到phpmyadmin首页上显示的MySQL 字符集为cp1252 West European (latin1),当我们导入数据时就会出现乱码,解决的方法是: 在phpmyadmin首页的右边有个Language选项,把默认的中文 - Chinese simplified-gb2312改成 中文 - Chinese simplified,则左边的MySQL 字符集会变成UTF-8 Unicode (utf8) ,乱码问题得到解决!

MySQL字符集 GBK、GB2312、UTF8区别 解决 MYSQL中文乱码问题 收藏 MySQL中涉及的几个字符集

MySQL中涉及的几个字符集 character-set-server/default-character-set:服务器字符集,默认情况下所采用的.character-set-database:数据库字符集.character-set-table:数据库表字符集.优先级依次增加.所以一般情况下只需要设置character-set-server,而在创建数据库和表时不特别指定字符集,这样统一采用character-set-server字符集.character-set-client:客户端的字符

MySQL字符集导致的乱码问题!

MySQL字符集导致的乱码问题 MySQL的字符集支持(Character Set Support)有两个方面:  1.字符集(Character set) 2.排序方式(Collation).  对于字符集的支持细化到四个层次:  1.服务器(server) 2.数据库(database) 3.数据表(table) 4.连接(connection) 注意:MySQL对于字符集的指定可以细化到一个数据库,一张表,一列,应该用什么字符集. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

解决springmvc+mybatis+mysql中文乱码问题【转】

这篇文章主要介绍了解决java中springmvc+mybatis+mysql中文乱码问题的相关资料,需要的朋友可以参考下 近日使用ajax请求springmvc后台查询mysql数据库,页面显示中文出现乱码 最初在mybatis配置如下 <select id="queryContentById" resultType = "java.lang.String" parameterType="String" >     select t

mysql字符集小结

author:skate time:2013/04/09 mysql字符集小结 今天同事阿杰兄发现内部一台mysql测试服务器乱码,以前也记录过关于字符集的,今天再补充下 修改mysql的字符集和默认存储引擎 http://blog.csdn.net/wyzxg/article/details/7581415 查看库现有的字符集: mysql> show variables like '%char%'; +--------------------------+------------------

关于MySQL字符集问题【已解决】

关于MySQL字符集问题[已解决] 先来看看我的字符集设置 全都是utf8.这里没有什么问题 接下来我创建了一个数据表book.来看下我创建的表结构 当输入命令:mysql> insert into book(bookname,publisher,author,price,detail) values('PHP','电子工业出版社','武胜利','80.00','与PHP相关的图书');ERROR 1366 (HY000): Incorrect string value: '\xB5\xE7\x

mysql 数据库乱码问题

mysql 数据库乱码问题,按如下顺序检查,一步一步排除出错位置. 最好全部编码都使用UTF8编码. 网页页面编码方式使用UTF8: <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 然后检查连接MYSQL数据库时设为UTF8: mysql_query("set character set 'UTF8'",$con);mysql_query(&q