集思博客

集思博客,(www.gisblogs.net)用心记录我的成长历程,留下技术的沉淀……

« 转载:eBay中国能否全面转型,成就跨国贸易之梦smarty能做什么?smarty 介绍 »

mysql5.0中关于中文乱码的解决办法

最近,在做php开发,用的是mysql数据库。

      用php操作往mysql中添加的中文,都成了乱码,不仅在phpmyadmin中显示是乱码,而且无法进行中文对比。比如,明明插入的是“你好”,通过sql语句where hello='你好'就是查不到这个结果。

      这个应该是字符集的问题,我发现mysql默认的字符集(即:整理)是lat1-sewiden-ci,这显然不正确。之后我把原来的varchar字段的整理改成了gb2312-chinese-ci,试了下,还是无效。

      我删除整个数据库,全部用gb2312来建数据库、表、字段。还是无效。

      后来,我网站找到了两种方法:

      一、在数据库链接的时候设置一个参数 mysql_query("SET NAMES 'GBK'");。例如,我常用的
<?php $myconn=@mysql_connect("localhost","root","");
 mysql_select_db("study",$myconn);
 mysql_query("SET NAMES 'GBK'");
?>

      二、就是修改mysql的my.ini文件

              在my.ini文件中找到“default-character-set=lat1”,改成“default-character-set=gb2312”.

           记得修改这个参数以后,必须重启mysql,否则设置无效!

  • 相关文章:

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

日历

最新评论及回复

最近发表

Powered By Z-Blog 1.8 Spirit Build 80605 Code detection by Codefense  theme by BokeZhuti

Copyright 2007-2008 集思博客 www.gisblogs.net 备案号:粤ICP备07051728号 联系QQ:6390514