ThinkPHP+Mysql储存中文乱码,用php读取却正常

首先数据库和表的编码都是utf

8,网页编码utf-8,另外配置文件设置了:'DB_CHARSET' => 'utf8',

用户是用PHP注册上去的,不是手动添加的。

但是用用命令行查看的时候是乱码,如图:

如果用PHP读取的话却又正常了...

你用的什么工具看的数据库,工具的编码没设置正确。所以你用工具看的就是乱码。请问你用的什么呢。PHPMYADMIN 吗 还是其他工具。追问

Navicat for MySQL 但是查看wordpress的就不乱吗

追答

这个你用的默认的连接编码吧。乱码肯定是不没设置对,不然不可能看不到中文字。那个不乱码,可能正好你的NAVICAT 是和他用的同一个编码。又或者说你当前这个有问题的编码在某一个环境上对中文存储用的非UTF8 从而就会出现乱码。PHP中不乱码,是因为他写进去是这个编码,读出来也是按相同的编码来读的。所以不会乱码。比如你存进去是 GB2312 而实际数据库存储用的却是 LANT 的。那么,如果你用工具去看,选 GB2312 也是乱码。用UTF8也还是乱码。用LANT1的 还是乱码。你的问题,就要具体看你的字段的整理属性 表属性这些了。

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答