Home  >  Article  >  Backend Development  >  为什么本地测试正常 上传后就会出现插入数据库乱码解决思路

为什么本地测试正常 上传后就会出现插入数据库乱码解决思路

WBOY
WBOYOriginal
2016-06-13 10:07:54991browse

为什么本地测试正常 上传后就会出现插入数据库乱码
php+sql 前后台都用的utf8 本地一切正常 上传后读取也正常 但是通过页面插入到数据库的中文全都是问号 怎么回事

每个页面都设置了

每次连接数据库后都设置了
$dbh->exec("SET CHARACTER SET utf8");
mysql数据库表和每个字段的编码都是utf8_generate_ci
本地一切正常 上传到服务器插入的汉字全是问号 
谁帮帮我啊 都快哭了

------解决方案--------------------
mssql? 嗯 方向对了 编码问题. 不过mysql 是 set names 'utf8',mssql 我就不清楚了。应该是这句语句不正常吧
------解决方案--------------------

探讨

引用:
mssql? 嗯 方向对了 编码问题. 不过mysql 是 set names 'utf8',mssql 我就不清楚了。应该是这句语句不正常吧
是mysql exec("SET CHARACTER SET utf8");这种方法是正确的 我设了set names 'utf8'也还是没用 我真快哭了

------解决方案--------------------
看看从本地数据库导出的编码格式是不是都是UTF-8,如果是的话看导出后的中文内容是不是问号,然后导入到服务器那边的数据库的编码是不是都是UTF-8.应该是格式不一致的原因,再有楼上说的应该是mysql吧,语句应该是mysql_query("SET NAMES 'utf-8'");
------解决方案--------------------
PHP页面加上试试:
header('Content-Type:text/html;charset=utf-8');
------解决方案--------------------
还是牛哥慧眼,我前面写错了,是utf8!你在phpadmin的首页看看 MySQL 连接校对是不是utf8_generate_ci
还有就是Language是不是中文-Chinese simplified,如果都没问题的话就点导出,然后再看文件的字符集是不是utf8,如果是的话,你就点下面的执行,这样数据就可以导出来了,然后导入的话也是要看清楚这3项是否跟你导出的时候一致,这样就应该可以了
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn