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

php中文网
发布: 2016-06-13 13:48:24
原创
1083人浏览过

为什么本地测试正常 上传后就会出现插入数据库乱码
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项是否跟你导出的时候一致,这样就应该可以了
相关标签:
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号