关于运行php项目出现乱码的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于运行php项目出现乱码的问题相关的知识,希望对你有一定的参考价值。

php出现乱码,页面显示如下图,请问这是怎么回事?

首先明确一点,这不是乱码,而是出错信息
你一定是改了php.ini里的display_errors为On
这样就打开了错误输出
本来你的程序是有错误的,但是关闭了错误输出,你看不到
现在有错误输出了

看你的错误提示是链接数据库失败
最后一张图片还有其他的错误

你应该把error_reporting改为E_ALL & ~E_NOTICE这样就不会有NOTICE级的警告追问

这样啊,我先试试

参考技术A 这个是没有安装zend或者zend没有生效造成的。。如要检查下服务器变量看看php 是否已经安装好了zend。 参考技术B 一个个的都特么的大佬啊。加密算法,还解密算法,我听的真特么的佩服死了。
来来来,把这句加上试试
在头部添加:header('Content-Type: text/html; charset=utf-8');
参考技术C 你运行后,页面上乱码?还是本身代码是乱码的?
页面乱码,编码不对。代码不对,编码不对或者被加密过(加密方式各个版本都是不同,解密难度很大)。本回答被提问者采纳
参考技术D 加密的了。有解密软件可以试试。追问

主要用什么解密软件?

关于项目在网页中运行部分jsp出现乱码(由request.getRequestDispatcher("XXX.jsp").forward(request, response)造成)

在写jsp的时候发现部分的jsp在浏览器预览时出现乱码,为一堆问号,如图:

 

当时问了同学,只有部分jsp会出现乱码,因为重新建一个jsp在运行就没有错误,可以显示出来,所以发现是jsp头部的错误,当新建一个jsp把内容复制过去可以正确显示,但当把名字改成需要跳转的jsp时就会出现乱码,所以我才发现是由于调用这个名字的jsp出现了错误即:request.getRequestDispatcher("XXX.jsp").forward(request, response)造成了乱码,解决只需要在servlet的doGet方法里加入  response.setCharacterEncoding("UTF-8");,至于为什么之前的request.setCharacterEncoding("UTF-8");和response会由不一样的效果呢,这是因为request.setCharacterEncoding():是设置从request中取得的值或从数据库中取出的值。而response.setCharacterEncoding()设置HTTP 响应的编码,因此两者作用不一样。

以上是关于关于运行php项目出现乱码的问题的主要内容,如果未能解决你的问题,请参考以下文章

关于JavaWeb项目汉字乱码问题

项目在服务上运行出现中文水印乱码问题解决(第二篇)

关于在将暴风SDK倒入unity中运行程序出现报错问题

IDEA创建maven在main运行代码出现编译乱码问题

关于request和response的乱码问题

centos6.5环境下的web项目mysql编码方式导致的中文乱码问题