关于php和mysql出现乱码的解决办法.pdf

关于php和mysql出现乱码的解决办法.pdf

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
关于php和mysql出现乱码的解决办法

关于PHP 和MySQL 出现乱码的解决办法 最近几天一直在做贴吧的小项目,跟着十八老师的视频学着,中间也遇到不少问题,我查了 不少资料最后都一一解决了。下面详细分类说明各种乱码的处理方法。 简单地讲乱码的产生和各个环节里面设置的编码类型不匹配有关,这里的乱码主要都是指的 中文显示的乱码。(下面没有特指都是说中文显示乱码)。我先根据发生乱码的位置来划分。 如果是需要快速查找解决方法的可以直接根据错误位置来查阅本文 (根据编号快速查找)。 1.网页显示中文乱码。2.PHPmyadmin 中显示乱码。3.控制台显示中文乱码。 如果是想详细了解各种情况的童鞋可以耐心阅读本文。 1.第一种在一般网页页面上显示中文出现乱码。 这个主要要改一下页面显示编码设置,如果是 PHP 文件,则在其中加上一句: header(Content-Type: text/html; charset=utf-8); 并且要注意保存PHP 文件的时候选择编码为utf8.如图所示 在你需要显示的PHP 后缀的页面中加上就可以,当然一般来说如果是比较多页面都要设置, 一个个去添加很麻烦,就在初始化文件里面最后添加就可以加载到所有需要的文件了。 如果是静态页面(求别喷,很可能有静态页面的说),在页面head/head标签之间加上一 句:meta charset=utf-8 。改完后页面的显示中文就能正常。 Utf8 编码格式和gbk 格式都是目前中文网站显示所用的编码,所以将charset 改为utf 即可。 2.第二种在MySQL 图形化界面中文数据的显示。 在如PHPmyadmin 里面也有可能出现中文乱码。 前面也说了要把PHP 文件编码保存为utf8,所以相对应的MySQL 的相关字符集的设置也要 改成utf8; 这里有几种方式可以供选择。 第一种治标不治本。在需要进行数据库操作的PHP 文件里,加上下面几句: mysql_query(set character_set_client = utf8);//设置client 的字符集为utf8 mysql_query(set character_set_connection = GBK);//s 设置连接字符集为gbk mysql_query(set character_set_results = utf8);//设置最后结果的字符集为utf8 当然作为程序员来说,如果一个添加留言的页面需要录入中文,一个修改留言的页面也需要 中文的录入数据库,每个文件里都必须加,一个个写也是很烦躁的事,建议还是写到初始化 文件(比如我写的init.php)里面,其他文件都会自行加载。 至于为何说这是治标不治本的呢?这是由于每次都先执行一次这种操作,如果没有这些代码, 则还是会出现中文乱码。还有没有更好的办法呢? 既然我们能把这些修改的命令写到整个项目里的初始化文件里面,那我们能不能直接改 MySQL 的配置文件呢?这样每一个用MysQL 的PHP 项目都可以解决在图形化界面里中文的 显示。 这就是第二种指标也治本的方法:改MySQL 配置文件。 先找到MySQL 配置文件my.ini 修改的部分之后如下 [mysql]里面改为: default-character-set=utf8 [mysqld]中改为: default-character-server = utf8 [client]中改为: default-character-set = utf8 修改之后保存,重启MySQL。 鉴于很多新手朋友,重启MySQL 的方法也附上: 在运行cmd 后, 输入如下图所示的命令行 注意net stop 之后加的是mysql 的名字,也许有人觉得我在说废话,但是要知道也许有些同 学用的是 PHPnow 的继承包,里面的mysql 不是这个名字,而是 mysql_pn,不排除有人安装 了好几个mysql,注意修改的是哪个mysql 的配置文件就重启那个相应的mysql 服务。 基本上这样来看就应该可以完全解决在图形界面上乱码的问题了,但是我们可能还遗漏了一 个方面,这就是第三种乱码出现的位置: 3.第三种:乱码出现在命令控制台。 我们可以用show variables like ‘charac%’; 查 看 MySQL 的 字 符 集 的 所 有 设 置 , 如 下 图 所 示 则 为 可以正确显示中文数据记录: MySQL 很多默认值是 latin,如果你还不是和我上图一样的设置,请参看第二种情况的处理 方法,处理好后继续读下

您可能关注的文档

文档评论(0)

laolao123 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档