欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

浅谈MySQL+PHP 产生乱码的原理及解决方法(2)_MySQL

程序员文章站 2024-02-18 21:57:34
...
 修改表的编码:

  ALTER TABLE 'category' DEFAULT CHARACTER SET utf8 COLLATE utf8_bin


  以上命令就是将一个表category的编码改为utf8。

  修改字段的编码:

ALTER TABLE 'test' CHANGE 'dd' 'dd' VARCHAR( 45 ) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL


  以上命令就是将test表中dd的字段编码改为utf8。

  如果是这种情况容易解决,只需检查下页面,修改源文件的charset即可。

  这种情况也是修改页面charset即可。

  在连接数据库的语句中。

mysql_connect('localhost','user','password'); mysql_select_db('my_db'); mysql_query("set names utf8;"); //select 数据库之后加多这一句


  为了避免PHP页面乱码的发生,PHP页面开始第一句

  header("content-type:text/html; charset=utf-8"); //强行指定页面的编码,以避免乱码

  注意:照以上方法修改以后只能保证你新插入的数据不会乱码,举个例:如果你用户已提交的数据是BIG5,你却想通过以上方法改为可以在GB2312的网页正确显示是不可能的, 这种文字内码的变换只能通过另写程序来解决。

相关标签: