Home >Database >Mysql Tutorial >MySQL中文乱码问题的解决_MySQL

MySQL中文乱码问题的解决_MySQL

WBOY
WBOYOriginal
2016-06-01 13:41:371100browse

bitsCN.com
MySQL中文乱码问题的解决 MYSQL经典问题:   (ERROR 1366 (HY000): Incorrect string value:'/xD5/xD4' for column 'name' at row 1)网上有好多解决中文乱码的贴, 大致都讲的是修改 %MYSQL_DIR%/my.ini    default-character-set=gbk 什么的我试过了, 不起作用. (可能是我没处理到位)下面是我琢磨了半天,得到的结果, 不知道是否值得提倡, 但目的绝对达到了:登陆mysql --->进入相应数据库---> 输入命令: show variables like '%char%';得到:    +--------------------------+--------------------------+| 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      utf8 | character_set_system       utf8| character_sets_dir       D:/MySQL/share/charsets/ +--------------------------+--------------------------+
 如果出现上述情况则需要更改数据库编码: 两种方法, 第一种是一次搞定, 第二种只对当前连接有效,断开连接,恢复更改前状态 方法1: alter database 数据库名 charset utf8; 方法2:  set character_set_database = utf8;再用命令: show variables like '%char%';+--------------------------+--------------------------+| 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       D:/MySQL/share/charsets/ +--------------------------+--------------------------+
 此时编码已经一致, 但是,对数据库中的表进行插入中文字符操作, 仍然会报 : ERROR 1366 (HY000)---> set character_set_client = gbk;  设置插入时接收的编码为GBK, 这样就可以插入中文了此时中文字符已经可以插入, 但查询结果却还是乱码, 再更改一处即可:---> set character_set_results = gbk; 设置输出结果的编码为GBK注: 这样的设置只对当前连接有关, 连接断开, 这些设置恢复数据库默认设置状态,因此,如果需要,每次连接都得设置!另外:ERROR 1366 (HY000)错误主要出现于控制台(cmd/黑窗口) 执行SQL语句插入中文时弹出,用mysql-front 软件插入时不会报字符问题, java通过JDBC连接数据库执行executeUpdate("insert 语句") 中文也能成功插入数据且不会报错!
 PHP解决乱码问题只需在连接后加入mysql_query("set names 'gbk'") 就OK!如: $conn = mysql_connect("localhost","root","");   mysql_query("set names 'gbk'");  作者 Jacy liang bitsCN.com

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn