MySQL中文乱码问题的解决方案

php中文网
发布: 2016-06-07 16:20:54
原创
1272人浏览过

MYSQL经典问题: (ERROR 1366 (HY000): Incorrect string value:'xD5xD4' for column 'name' at row 1) 网上有好多解决中文乱码的贴, 大致都讲的是修改 %MYSQL_DIR%/my.ini default-character-set=gbk 什么的 我试过了, 不起作用. (可能是我没处理到位) 下面

   mysql经典问题:

  (ERROR 1366 (HY000): Incorrect string value:'xD5xD4' 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:MySQLsharecharsets

  +--------------------------+--------------------------+

  如果出现上述情况则需要更改数据库编码: 两种方法, 第一种是一次搞定, 第二种只对当前连接有效,断开连接,恢复更改前状态

  方法1: alter database 数据库名 charset utf8;

  方法2: set character_set_database = utf8;

Shopxp购物系统Html版
Shopxp购物系统Html版

一个经过完善设计的经典网上购物系统,适用于各种服务器环境的高效网上购物系统解决方案,shopxp购物系统Html版是我们首次推出的免费购物系统源码,完整可用。我们的系统是免费的不需要购买,该系统经过全面测试完整可用,如果碰到问题,先检查一下本地的配置或到官方网站提交问题求助。 网站管理地址:http://你的网址/admin/login.asp 用户名:admin 密 码:admin 提示:如果您

Shopxp购物系统Html版 0
查看详情 Shopxp购物系统Html版

  再用命令: 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:MySQLsharecharsets

  +--------------------------+--------------------------+

  此时编码已经一致, 但是,对数据库中的表进行插入中文字符操作, 仍然会报 : 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'");

相关标签:
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号