导入数据库前台中文全乱码,三个地方字符集统一成UTF8,立刻就好

14年前 (2012-08-23)阅读1回复0
genmulu
genmulu
  • 管理员
  • 注册排名1
  • 经验值27950
  • 级别管理员
  • 主题5590
  • 回复0
楼主

新手导入网站源码,上传完文件,导入数据库,结果网站中文全是乱码,数据库里中文显示正常,前台打开全是方块问号,折腾半天不知道哪里错了。其实就是字符集不统一,几个地方改对,乱码立刻就好。

首先,数据库的字符集要统一,新建数据库的时候选utf8mb4,别选默认的latin1,导入SQL文件的时候,也要选utf8mb4,不然中文导进去就是乱码。很多新手导入SQL的时候,没选对字符集,数据库里中文全乱了,导完才发现,重新导一遍就好。

然后,PHP连接数据库的时候,要指定字符集是utf8mb4,很多老源码里连接数据库的语句,没设置字符集,数据库连接默认用了老字符集,读出来的中文就乱码。改一下连接数据库的代码,加上set names utf8mb4,读出来的中文立刻就正常了。

还有,网页文件的编码也要统一,所有php模板文件,保存的时候存成utf8编码,别存成GBK,不然就算数据库里是对的,文件本身是GBK编码,浏览器读出来还是乱码。我之前客户的源码,模板文件是GBK,数据库是UTF8,前台打开一半中文乱码,把所有模板文件转成UTF8编码,乱码立刻就没了。

遇到中文乱码,别上来就把所有内容都转码,先查三个地方:数据库字符集、连接数据库的字符集、文件本身的编码,三个统一成UTF8,乱码百分百解决。很多新手遇到乱码就瞎转,越转越乱,其实就是几个地方字符集没对齐。

本站源码来源于网络收集修改或者交换,甚至可能并非原创,如遇未经考证信息需持审慎态度。若有疑问,可联系本站处理。

本文地址:https://www.genmulu.cn/genmulu/5521.html

0
回帖

导入数据库前台中文全乱码,三个地方字符集统一成UTF8,立刻就好 期待您的回复!

取消
载入表情清单……
载入颜色清单……
插入网络图片

取消确定

图片上传中
编辑器信息
提示信息