是 php 本身编码,或者 数据库编码问题。
---------------------------
给你看一篇别人的问题
------------------------
让人烦恼的 PHP + UTF8 乱码解决方案
088月2009
一般来说,如果将 各个文件类型,HTML 的 charset , 数据库连接编码都设置为 utf8 , 是不会有乱码问题的
不过我今天着实遇见了一个诡异的事情。
不知道因为什么原因,服务器上的Apache被人修改,而我没有这台服务器的超级权限,
导致我的一个项目下面的网站全部乱码。
打开源文件,没有乱码,但是显示页面全是乱码。
将乱码页面保存在本地,页面就显示正常。
真是怪异。
仔细检查了一下,所有能设置编码的地方均为 UTF-8,并且,文件头部没有BOM
我前前后后都想了一遍,着实不知道是什么什么原因。
我甚至怀疑,是不是我的 IE8 出问题了。
唉,万恶的浏览器,万恶的互联网。
我此刻才深切认识到 当年秦始皇一统天下的 良苦用心。
想了很久,也没有解决方案。无奈的我,束手无策。
我忽然想,如果我在页面中加入:
header("Content-type: text/html; charset=utf-8");
会怎么样?
php开发手册中写道:
header("Content-type: text/html; charset=utf-8");
的作用同
<meta >如何解决日文在Ubuntu中显示为乱码的问题
1通过windos
update安装中文简体语言包或东亚语言支持包(可以先尝试第二步,不行再下载支持包)
2开始菜单—控制面板—区域和语言选项—管理—非unicode程序使用的语言-中文(简体)
3如果还有软件因为乱码无法使用,请使用微软官方软件Microsoft
AppLocale将编码改为该软件编码后启动解决方法1:学好英文把环境变量设置为英文(别抽我)
修改/etc/default/locale
sudo vim /etc/default/locale1
修改默认的
LANG=zh_CNUTF-8
LANGUAGE=zh_CN:zh
为:
LANG="en_USUTF-8"
LANGUAGE="en_US:en"
存盘退出
然后:
sudo reboot
再然后
env 或者 locale 查看修改后的结果 就可以了
解决方法2:这才是我想说的 安装个zhcon就可以了
终端或者命令行里输入
sudo apt-get install zhcon
等安装完即可~
运行的时候记得要加载vgz驱动和utf8支持 否则会黑屏
并且只能在纯命令行里运行 在终端运行会出错
所以你的命令应该是zhcon --utf8 --drv=vga
如果嫌每次都要输入这么多太麻烦可以在~/bashrc里面加一个别名
sudo vim ~/bashrc
打开后在里面加入一行
alias zhcon='zhcon --utf8 --drv=vga'
保存退出
这样每次进入命令行后直接运行zhcon即可 不用担心黑屏问题
zhcon中支持中文显示也支持中文输入法 由于热键冲突问题暂时我只知道Ctrl+ space切换到全拼输入法是
可以用的 多多少少解决了点中文目录/文件名的问题了0
投票
解决方法:
一 Ubuntu默认的中文字符编码
Ubuntu默认的中文字符编码为zh_CNUTF-8,这个可以在
/etc/environment中看到:
sudo gedit /etc/environment
可以看到如下内容:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
LANG="zh_CNUTF-8"
LANGUAGE="zh_CN:zh:en_US:en"第二行即是默认的中文字符编码。注:可以通过这里修改默认的中文编码字符,比如修改为:zh_CNGBK。
二 添加中文字符编码的方法
1 直接使用locale-gen
在终端输入命令:
sudo locale-gen zh_CNGB18030
即可完成中文字符集的添加。完成后可以转到
/usr/lib/locale/,下面已经有一个zh_CNgb18030文件夹;在超级终端输入命令:
gedit /var/lib/locales/supportedd/local,可以发现文件中多了一行:zh_CNGB18030 GB18030。说明添加成功。
2 通过修改/var/lib/locales/supportedd/local文件
在终端输入命令行
sudo gedit /var/lib/locales/supportedd/local
可以看到如下内容:
zh_CNUTF-8 UTF-8
en_USUTF-8 UTF-8
在文件尾添加中文字符集
zh_CNGBK GBK
保存后退出。在终端输入命令:
sudo dpkg-reconfigure locales
Generating locales
en_AUUTF-8 done
en_BWUTF-8 done
en_CAUTF-8 done
en_DKUTF-8 done
en_GBUTF-8 done
en_HKUTF-8 done
en_IEUTF-8
/etc/profile
LC_ALL=zh_CNUTF-8
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)