可能重复:
一直到 UTF-8
我的程序所做的是在客户端,浏览器的编码为 UTF-8,客户端在文本框中输入一些中文。然后通过 jQuery 将此文本传输$.post
到我的服务器端。在服务器上,它被插入到数据库中。当我第一次把它放进去时,它变成了不可读的文本。下一次尝试看看哪里出错了,输出了服务器副本,发现完全没问题(中文文本完全可读)。因此,我认为当文本插入数据库时,一定会出现问题,在 SQL 语句的某处。
有没有办法解决这个错误?
您还必须将数据库的字符集设置为 UTF-8。
发生这种情况是因为您也必须将字符集设置为 UTF。如果您已经设置了它,那么我假设您正在 Windows 下工作并试图在 MysqlWorkbench 或类似的东西中查看文本?我知道这一点是因为我是中国人并且使用了一些中文软件并且到处都有奇怪的符号xD。
然后,您需要在控制面板-> 语言和区域选项或键盘选项中配置您的操作系统以显示这些字符,对不起,我不记得我在工作场所的 mac 上的确切位置。
碰巧浏览器可以显示这些字符,但除非您设置,否则操作系统不会显示这些字符。
检查这个:
将要保存 unicode 值的列的字符集指定为 utf8。
使用VARCHAR(250) CHARACTER SET utf8
而不是 VARCHAR(250)
ALTER TABLE tableName MODIFY ColumnName VARCHAR(250) CHARACTER SET utf8