PHP中文乱码 解决方案

本文总结了使用Appserv环境下网页显示异常的问题解决方法,重点介绍了如何确保MySQL数据库编码、HTML页面编码及文件自身编码的一致性,并解决了headers already sent警告。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近安装了appserv,始终不能正常在浏览器中显示编写的网页,现在在此总结一下:

php编码有三个地方需要一致:(网上转的)

MySQL数据库编码、html页面编码、PHP或html文件本身编码要全部一致。 
  1、MySQL数据库编码:建立数据库时指定编码(如gbk_chinese_ci),建立数据表、建立字段、插入数据时不要指定编码,会自动继承数据库的编码。 
数据库连接时,也有编码,可以在连接完数据库后,执行 
mysql_query('SET NAMES gbk');//将gbk换成你的编码,如utf8。 

  2、html页面的编码,指的是这一行的设置: 
<meta http-equiv="Content-Type" content="text/html; charset=gbk" /> 

  3、PHP或html文件本身的编码:用editplus打开php文件或html文件,另存时,选择的编码,如果数据库和页面编码是gbk,则这儿的编码选择ansi;如果数据库和页面编码是utf-8,则这儿也选择utf-8。

  4、另外要注意的是,Javascript或Flash中传递的数据是utf-8编码,如果数据库和页面编码是gbk,要进行转码,然后写入数据库。 
iconv('utf-8', 'gbk', $content); 

5、在PHP程序中,可以加上一行,来指定PHP源程序的编码: 
header('Content-type: text/html; charset=gbk');


数据库是mysql,我用的是phpadmin来操作,可以很方便的创建、修改数据库,当然也可以设置数据库以及表的编码。完成三者编码的一致后(gb2312),又出现:Warning: Cannot modify header information – headers already sent by。解决这个的办法是,找到C:\windows里面php.ini文件,打开将output_buffering 从off改成on。 然后重启apache。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值