大家好!最近在做一些网站,但是遇到一个麻烦的问题,头很痛,想请大家帮我解决,在此先谢谢大家!在利用php中的mysql_query()插入一些数据到mysql,遇到以下问题:可以插入数据到mysql数据库,但是用phpmyadmin查看内容却是乱码的,读取数据出来也不会乱码。但是这样对直接在phpmyadmin中查看数据照成影响,还有就是插入的数据和自己定义的字段长度有冲突,例如我的一个表中name字段设置为varchar(10),在我还没有插入10个字符时(大概5~6)个就插入不进去,但是插入2~3个字符确是可以的。我怀疑是字符集的问题,也就是说我插入5~6个字符,他乱码之后插入就已经超过10字符了。只有当你的字符为数字和英文字母时才不会出现这样的问题,只有汉字会乱码。但是直接在phpmyadmin中输入mysql插入语句不会出现乱码,长度是多少就会是多少,不会出现上面的情况,问题是读取这些没有乱码的数据时却是乱码的。本来我以后是我的php代码错了,结果拿自己的代码输出sql语句在phpmyadmin中插入却是可以的。所以一切都在字符集的问题上。现在想让大家看完之后给我一点建议,我就是想不要出现乱码,插入读取都不要,全完的正常,因为字符集浪费我太多时间和精力了,谢谢大家帮助我解决这个让我头疼的问题。给我一些未来设计网站时的建议,让我避开这个字符集的问题,在字符集方面给我多多的注意细节,谢谢各位!不胜感激

解决方案 »

  1.   

    应该是数据库定义的字符编码和PHP文件编码不一致造成的,你改成一致应该就OK了。
      

  2.   

    你把PHP页的编码,数据库定义的编码,数据表字段属性编码都定义成统一的编码应该就没有问题了
      

  3.   

    执行操作前加上:mysql_query("set names as '你数据库的编码'");
      

  4.   

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    那句对?谢谢、、、
      

  5.   

    字符集很简单的,只要保证你网页字符集跟mysql_query("set names as '网页字符集'")一致就OK了,哪怕你数据库用UTF8,网页用GB2312都可以。唯一要求就是,如果你用utf8建的库,一定要保证你存的内容是utf8编码的,其他编码也一样。别是utf编码,结果导库时导入gbk的昂。
      

  6.   

    1. 页面文件UTF8
    2. 入库编码UTF8
    3. 输出显示UTF8三步包你不遇到字符集问题