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

WBOY
发布: 2016-06-13 10:07:54
原创
1029 人浏览过

为什么本地测试正常 上传后就会出现插入数据库乱码
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项是否跟你导出的时候一致,这样就应该可以了
相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!