导入数据库前台中文全乱码,三个地方字符集统一成UTF8,立刻就好
新手导入网站源码,上传完文件,导入数据库,结果网站中文全是乱码,数据库里中文显示正常,前台打开全是方块问号,折腾半天不知道哪里错了。其实就是字符集不统一,几个地方改对,乱码立刻就好。
首先,数据库的字符集要统一,新建数据库的时候选utf8mb4,别选默认的latin1,导入SQL文件的时候,也要选utf8mb4,不然中文导进去就是乱码。很多新手导入SQL的时候,没选对字符集,数据库里中文全乱了,导完才发现,重新导一遍就好。
然后,PHP连接数据库的时候,要指定字符集是utf8mb4,很多老源码里连接数据库的语句,没设置字符集,数据库连接默认用了老字符集,读出来的中文就乱码。改一下连接数据库的代码,加上set names utf8mb4,读出来的中文立刻就正常了。
还有,网页文件的编码也要统一,所有php模板文件,保存的时候存成utf8编码,别存成GBK,不然就算数据库里是对的,文件本身是GBK编码,浏览器读出来还是乱码。我之前客户的源码,模板文件是GBK,数据库是UTF8,前台打开一半中文乱码,把所有模板文件转成UTF8编码,乱码立刻就没了。
遇到中文乱码,别上来就把所有内容都转码,先查三个地方:数据库字符集、连接数据库的字符集、文件本身的编码,三个统一成UTF8,乱码百分百解决。很多新手遇到乱码就瞎转,越转越乱,其实就是几个地方字符集没对齐。
本站源码来源于网络收集修改或者交换,甚至可能并非原创,如遇未经考证信息需持审慎态度。若有疑问,可联系本站处理。
0