Linux php出现中文乱码的解决方法
2015-09-13 18:57
666 查看
今天,在运行php 程序的时候,本该出现中文的地方出现了乱码。后来查找解决方案的时候发现是字符编码设置问题,下面给大家介绍几种解决方法。
在不涉及数据库编码的情况下:我们可以修改“/etc/php5/apache2/php.ini”里面关于字符编码设置的语句。
sudo vi /etc/php5/apache2/php.ini
打开文件后,按下“/default_charset”进行搜索,
![](http://img.blog.csdn.net/20150913191159031?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
按下回车键,找到default_charset的位置,进行修改。
![](http://img.blog.csdn.net/20150913191319947?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
把注释去掉,即是把“;”去掉,把iso-8859-1改为utf-8。
![](http://img.blog.csdn.net/20150913191427562?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
然后重启apache,
sudo /etc/init.d/apache2 restart
然后在Firefox,输入你的网页地址就可以了。
![](http://img.blog.csdn.net/20150913191705330?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
下面是其他方法,但是我没试验过,毕竟问题解决了。提供给大家参考一下。
(一)一般来说出于编码兼容考虑大多的页面都将页面字符集定义为utf-8
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
这时候要正常显示中文需要转化一下编码方式,比如
echo iconf("GB2312","UTF-8",'中文');
就不会乱码了。
(二)在php的echo前面加入
header("Content-Type:text/html;charset=gb2312");
(三)当然简体中文页面也可以干脆地,把
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
中的UTF-8改成gb2312。
<?php
mysql_query('SET NAMES UTF8');
接下来的就是查出数据或者修改,增加咯
?>
在不涉及数据库编码的情况下:我们可以修改“/etc/php5/apache2/php.ini”里面关于字符编码设置的语句。
sudo vi /etc/php5/apache2/php.ini
打开文件后,按下“/default_charset”进行搜索,
按下回车键,找到default_charset的位置,进行修改。
把注释去掉,即是把“;”去掉,把iso-8859-1改为utf-8。
然后重启apache,
sudo /etc/init.d/apache2 restart
然后在Firefox,输入你的网页地址就可以了。
下面是其他方法,但是我没试验过,毕竟问题解决了。提供给大家参考一下。
(一)一般来说出于编码兼容考虑大多的页面都将页面字符集定义为utf-8
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
这时候要正常显示中文需要转化一下编码方式,比如
echo iconf("GB2312","UTF-8",'中文');
就不会乱码了。
(二)在php的echo前面加入
header("Content-Type:text/html;charset=gb2312");
(三)当然简体中文页面也可以干脆地,把
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
中的UTF-8改成gb2312。
<?php
mysql_query('SET NAMES UTF8');
接下来的就是查出数据或者修改,增加咯
?>
相关文章推荐
- Linux快速教程和图说设计模式(互联网博集)
- 搭建hadoop环境,在win7的eclipse上远程操作(Linux上)hadoop2.6.0出错的一些总结
- CentOS 7.0 下 源码编译安装PostgreSQL
- Centos7 安装kilo-8 Network(neutron)
- Linux进程管理之SMP负载平衡
- Linux虚拟机连接U盘的方法
- CentOS下非root 源码安装PostgreSQL
- CentOS下非root源码安装PostgreSQL
- linux下R链接mysql
- red hat linux6.4 搭建dhcp服务器
- Linux之同步机制(信号量,自旋锁)
- cheng@Linux--JZ2440学习之jlink、dnw
- linux下R的安装
- Linux字符设备驱动之异步通知
- Linux 安装两个mysql服务
- 查看服务器 慢 卡 原因 Linux
- Linux驱动之poll机制
- linux软与硬接线连接
- Linux 查看进程启动详细时间及记录进程启动PID
- How do I install and use fonts in Linux?