同一个mysql数据源,同一个浏览器,访问线上测试无乱码,localhost访问就有乱码,我想这是不是服务器环境的问题?
补充:中文在mysql中显示是正常的。本地和测试服务器php.ini中default_charset都是注释掉的。my bad, 我习惯的认为应该不是mysql设置字符编码的问题(基于代码都是一样的),当我试着指定字符编码时,问题得以解决。常理说来,编码问题无非三个地方,php,mysql,浏览器设置,都统一问题一般都没有了。
按照你的说法,既然数据库是同一个,浏览器也是同一个,代码也肯定是同一个了,那么基本上问题出在php上,
1.查看你的php配置的默认编码是否是utf-8,最好拿phpinfo()看一下
default_charset = "utf-8";
2.查看你的数据库连接抽象层,在php与MySQL交互的地方,是否设定了编码规则,如果你用的mysqli最起码要这样设定一下$mysqli->set_charset("utf8")
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。