本文目录一览:
- 1、PHP读取文件乱码问题
- 2、为什么PHP文件用浏览器打开中文乱码
- 3、php文件用Dreamweaver打开的时候怎么是乱码
- 4、为什么我用php打开文件用echo 输出文件的内容出现乱码?
- 5、php如何实现输出中文乱码?
- 6、关于运行php项目出现乱码的问题
PHP读取文件乱码问题
1.fgetc($fp) 取得是单字节的,中文可能的根据编码可能有2 3 4字节,所以不管怎么输出肯定都会是乱码。
解决方法
1.修改php文件的编码为utf-8, 只有这样保存到test.txt文件里的文件才会是utf-8 大部分中文就都是按照3个字节
2.$fp=fopen($filename,"r");
while(($char=fread($fp,3))!==''){
printf("%d.%s",ftell($fp)/3,$char);
}
为什么PHP文件用浏览器打开中文乱码
header('Content-Type:text/html;charset=utf-8');
加上这句,这是由于浏览器解析的时候编码和php的不一致导致的,
这句话告诉浏览器用utf-8编码解析php返回的数据
php文件用Dreamweaver打开的时候怎么是乱码
php文件用Dreamweaver打开的时候乱码原因如下:
1、php文件编码与Dreamweaver编辑器默认编码不一致造成的文件显示乱码这个是需要修改默认编码即可解决。
2、文件被加密导致文件打开乱码,这个是需要解密才能查看源代码,不然没办法查看,只能查看开源的代码。
为什么我用php打开文件用echo 输出文件的内容出现乱码?
1.查询之前加这条语句可以解决乱码问题:
mysql_query("set names 'gb2312'");
2.导致编码不正确的几种原因:
mysql数据库默认的编码是utf8,如果这种编码与你的PHP网页不一致,可能就会造成MYSQL乱码.
MYSQL中创建表时会让你选择一种编码,如果这种编码与你的网页编码不一致,也可能造成MYSQL乱码.
MYSQL创建表时添加字段是可以选择编码的,如果这种编码与你的网页编码不一致,也可能造成MYSQL乱码.
用户提交页面的编码与显示数据的页面编码不一致,就肯定会造成PHP页面乱码.
如用户输入资料的页面是big5码, 显示用户输入的页面却是gb2312,这种100%会造成PHP页面乱码.
PHP页面字符集不正确.
PHP连接MYSQL数据库语句指定的编码不正确.
3.解决方法:
mysql+php产生乱码的解决办法:
如果安装mysql的编码已不能更改,很多朋友是购买虚拟主机建立网站,无权更改MYSQL的安装编码,这一关我们可以跳过,因为只要后面的步聚正确,一样能解决乱码问题
修改数据库编码,如果是数据库编码不正确,可以在phpmyadmin 执行如下命令:
ALTER DATABASE 'test' DEFAULT CHARACTER SET utf8 COLLATE utf8_bin
以上命令就是将test数据库的编码设为utf8.
修改表的编码:
ALTER TABLE 'category' DEFAULT CHARACTER SET utf8 COLLATE utf8_bin
以上命令就是将一个表category的编码改为utf8.
php如何实现输出中文乱码?
1、在test.php文件内,使用header设置test.php执行的编码为utf8,避免输出中文的时候出现乱码。
2、在test.php文件内,创建一个测试的数组,例如,定义一个分类的数组,其对应的索引值分别为0,4,8。
3、在test.php文件内,使用array_values()方法将上一步的数据重新排序,并且从0开始,把重新排序的数组保存在$result变量中。
4、在test.php文件内,使用foreach方法遍历数组,其中$k为索引值,$v为索引值对应的数组值。
5、在test.php文件内,使用echo方法输出数组中的索引值和对应的数组值即可。
关于运行php项目出现乱码的问题
首先明确一点,这不是乱码,而是出错信息
你一定是改了php.ini里的display_errors为On
这样就打开了错误输出
本来你的程序是有错误的,但是关闭了错误输出,你看不到
现在有错误输出了
看你的错误提示是链接数据库失败
最后一张图片还有其他的错误
你应该把error_reporting改为E_ALL ~E_NOTICE这样就不会有NOTICE级的警告