>데이터 베이스 >MySQL 튜토리얼 >MySQL中文乱码问题的解决_MySQL

MySQL中文乱码问题的解决_MySQL

WBOY
WBOY원래의
2016-06-01 13:41:371100검색

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

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.