- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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,如果你还不是和我上图一样的设置,请参看第二种情况的处理
方法,处理好后继续读下
您可能关注的文档
- 交流500kv复合绝缘子芯棒断裂原因分析-电瓷避雷器.pdf
- 交流1000kv同塔双回输电线路反击耐雷性能分析-电瓷避雷器.pdf
- 交流电-光华高工.pdf
- 交通运输工程一级学科专业学术型硕士研究生-研究生培养办公室.pdf
- 交流系统故障对直流输电系统的影响及改进建议-电力系统自动化.pdf
- 交通电力新型建筑-冯鹏pengfeng.pdf
- 交通运输类专业培养计划交通运输类专业培养计划-北京交通大学.pdf
- 产业集群工业园区发展与新型工业化-北京大学城与环境学院.pdf
- 产业集群组织创新与动态比较优势构建-浙江大学学报.pdf
- 产业合作篇-走出去公共服务平台.pdf
- 中国国家标准 GB/T 4214.17-2024家用和类似用途电器噪声测试方法 干式清洁机器人的特殊要求.pdf
- GB/T 4214.17-2024家用和类似用途电器噪声测试方法 干式清洁机器人的特殊要求.pdf
- 《GB/Z 43202.1-2024机器人 GB/T 36530的应用 第1部分:安全相关试验方法》.pdf
- GB/Z 43202.1-2024机器人 GB/T 36530的应用 第1部分:安全相关试验方法.pdf
- 中国国家标准 GB/Z 43202.1-2024机器人 GB/T 36530的应用 第1部分:安全相关试验方法.pdf
- 中国国家标准 GB/T 32455-2024航天术语 运输系统.pdf
- GB/T 32455-2024航天术语 运输系统.pdf
- 《GB/T 32455-2024航天术语 运输系统》.pdf
- GB/T 44369-2024用于技术设计的人体运动生物力学测量基础项目.pdf
- 中国国家标准 GB/T 44369-2024用于技术设计的人体运动生物力学测量基础项目.pdf
最近下载
- 湖南师范大学附属中学2022-2023学年高一上学期第一次大练习数学试题.pdf VIP
- 2023年唐山市中医医院护士招聘考试历年高频考点试题含答案解析.docx VIP
- 医院各部门及科室消毒隔离制度(五篇).doc
- 攀钢360m2烧结机工程技术标A标段.doc
- 电子情书(Youve got mail)纯英对白剧本台词文稿对白.pdf VIP
- 高中立体几何知识点整理总结.doc
- JIS G 5501 灰铸铁.doc
- 《口语交际:趣味故事会》示范公开课教学设计【部编人教版三年级语文下册】.docx
- 【教案】1.4.2-用空间向量研究距离、夹角问题-教案-人教A版(2019)高中数学选择性必修第一册.docx
- 2024年首届全国标准化知识竞赛真题题库导出版-下(判断题部分).docx
文档评论(0)