您的位置:

php却用utf8的矛盾问题(php utf8)

本文目录一览:

php与数据库中,都是用的utf8编码,但还是乱码

你的php代码还有请求头的编码和响应头的编码也都要统一成utf8,只控制数据库的编码不行的

php连mysql用 utf-8编码乱码怎么办

如果设置了set names utf8还是乱码的话,你需要看看数据库的编码格式了,乱码产生的原因,是因为存放时的编码和取出数据展示的编码不一致,导致的不能正常显示,你先查看数据库的编码合适,存放数据库开始检查

php 有关utf-8乱码的问题

服务器上用了别的编码,应该是windows的服务器吧?有可能是GBK或者GB2312编码。

两种方法解决此问题。

1、先在本地把所有文件都换成服务器的编码,然后再传上去;此法,你的php编码需要与服务器上的数据库编码一致,也既有可能是那两种编码。

2、修改服务器上的编码为utf-8。此方法需要你有足够的权限去修改服务器上apache或者IIS编码。如果修改编码成功,你的数据库也不用换编码。

如果保持你的网页编码不变,那就要修改mysql编码,即像stjdydayou 所言,执行数据库数据插入、更改、查询时,执行一条查询语句:

mysql_query("set names 'utf-8'");

之所有用utf-8编码,是因为你的php编码目前为utf-8.

php设置成utf-8还是乱码了怎么办

有时后php代码里边设置了“header("Content-type:

text/html;

charset=utf-8");”不一定会管用,因为有时文件本身格式就是错误的,你先把代码复制到一个txt文件里边,然后用代码工具对php文件进行转码成utf-8格式(这时你就会发现里边的代码乱码了,由其是中文和特殊字符),再把txt里边的代码复制覆盖原来的php文件内容,然后保存即可,例如用Notepad++

工具

可以对文件本身进行转码

php utf-8问题

带bom的话,session_start()还有json_decode()会出现问题,前者会提示你头部已输出字符,后者解析json数据结果会为空。

之所以使用utf-8输出中文乱码,是因为你的浏览器在你的页面没有头部信息没有指定编码默认以GBK编码显示,可以使用

header("Content-Type:text/html; charset=utf-8");

告诉浏览器你使用的是utf-8,如果是html页面可以加上

meta http-equiv="Content-Type" content="text/html; charset=utf-8" /

php中用utf8编码输出中文就是乱码

1【数据库】-2【php代码文件】-3【浏览器】

假如【数据库】用utf8,php【代码文件】也用utf8,【浏览器】查看时也用utf8。那么恭喜你,不会出现乱码的问题。

而最容易出问题的就是:php【代码文件】

header("Content-Type: text/html; charset=utf-8");

echo "中文"; //此处的【中文】两个字的编码类型与文件编码类型相同。

echo iconv('gb2312', 'utf-8', '中文'); //此处则将【中文】两个字在【输出】时转换成了utf8,所以不会出现乱码了(假设用win记事本默认存储为gb2312)。