几种解决php+mysql中uft-8中文编码乱码的办法

  PHP+MySQL的乱码问题我们都遇到过,今天就这个问题提出我的一些解决方法:
 
1.  首先是HTML页面的编码设置,一般在页面的<head></head>中要添加一句代码:
 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 
这是保证页面的编码是utf-8的格式。
 
此外,如果你用的是notepad++,则可以选择编码:格式 ——> 以UTF-8格式编码   ,当然,选择后也要加上上面的那句代码。
 
2.  然后是PHP页面的编码设置,在代码开始出加入一行:
header("Content-Type: text/html;charset=utf-8");
 
而在读写数据库时也要向数据库发出请求:
 
mysql_query("set character set 'utf8'");//读库
mysql_query("set names 'utf8'");//写库


当然发请求时,要在连接数据库之后。
 
3.  最后是数据库的编码设置,创建数据库的时候,请将“整理”设置为:“utf8_general_ci” 或“utf8_bin” ,当然选哪一个可以试试,哪一个可以就选哪个(我的两个都可以),创建数据表的时候:如果是该字段是存放中文的话,则需要将“整理”设置为:“utf8_general_ci” 或“utf8_bin”, 如果该字段是存放英文或数字的话,默认就可以了。 (前后选择要一致)
相应的SQL语句,例如:
CREATE TABLE `test` (
`id` INT NOT NULL ,
`name` VARCHAR( 10 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,
PRIMARY KEY ( `id` )
) ENGINE = MYISAM ;


4.  PHP以附件形式保存文件的时候,文件名必须是GB2312编码, 否则,如果文件名中有中文的话,将是显示乱码。而在“另存为”时,可以看到当前文件的编码,确保文件编码为:UTF-8, 如果是ANSI,需要将编码改成:UTF-8。

以上是本人的一些方法,仅供参考!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值