解决PHP+mysql处理中文乱码的独家方案.doc
上传人:sy****28 上传时间:2024-09-15 格式:DOC 页数:4 大小:1.4MB 金币:16 举报 版权申诉
预览加载中,请您耐心等待几秒...

解决PHP+mysql处理中文乱码的独家方案.doc

解决PHP+mysql处理中文乱码的独家方案.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

16 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

解决PHP+mysql处理中文乱码的独家方案本方案适用于所有页面文件均为php(已成功测试过),如果有混合文件读者可以亲自测试。问题现象如下图,1所示为修复过的头部引用文件header.php,中文能正常显示,2所示为未修复过的standard.php页面文件。一、为了解决问题,首先应该设置数据库的字符编码,如下图所示,本例将所有编码设置为UTF-8。同样将数据库中的所有表的字符编码设置成UTF-8。这样,数据库中可以正常显示中文字符了,如下图所示。如果要导入外来数据,也要设置好字符编码,对于非mysql数据库的导入(如从ACCESS数据库中导入),需要设置分隔字段的字符,然后执行便可,如下图所示。----------------------------------------二、数据库的字符编码完成后,便要将页面文件的编码设置好。这里的要点有如下三点(红色为说明文字):<?phpheader('Content-Type:text/html;charset=utf-8');//1.必须加在页面文件的头部,设置页面的字符编码为UTF-8,目的是防止中文的乱码mysql_query("SETNAMES'utf8'");//2.引用数据库的数据时需要设置SQL记录集中的字符编码为UTF8,防止中文的乱码?><head><metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/><!--3.需要在head标签中设置字符编码为utf-8--></head>为了实现上述三点要求,本例采用的方案如下:1.创建一个数据库连接文件conn.php,其中在开头设置header编码,并在创建数据连接后设置SQL请求的编码,如下图所示:2.设置页面文件的文件类型。可以在页面文件中的<head>标签中设置字符编码。2.1如果之前的字符编码为gb2312,则该文件类型为ANSI(本例使用DW和notepad++软件,读者也可用UE编辑软件,只不过类型显示名称不一样而已),如下图所示:2.2将<head>标签的编码设置成utf-8并保存文件后,再次打开,会发现文件类型变成了ANSIasUTF-8,如下图所示:3.在页面的首行引入数据链接文件conn.php,可以保证conn.php中的header设置字符编码成功有效,否则中文仍会出现乱码,如下图所示:最后,就完成了字符编码的设置,看看成功后的页面吧(如下图),中文全部正常显示出来了,是不是很神奇,赶快动动手来实现吧!Ps:另外提一句,如果你想让页面的字符编码设为其他类型(如GBK),则可以按上述方案将所有的编码类型设置为GBK即可。