我在笔记本电脑中安装了WAMP&我创建了一个mysql表
CREATE TABLE `users` (
`uname` varchar(20) NOT NULL,
`pass` varchar(20) DEFAULT NULL,
PRIMARY KEY (`uname`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
插入印地文unicode时
SET NAMES utf8;
insert into users(uname, pass) values ('सूरज','abc');
表的内容显示在这里
unicode wordसूरज没有正确显示。我做错了哪里?
答案 0 :(得分:1)
您应该更改为utf8多字节。
ALTER TABLE `users` CHARSET=utf8mb4, COLLATE=utf8mb4_bin;
<强>查询强>
SELECT * FROM users
<强>结果强>
uname pass
------------ --------
सूरज abc
答案 1 :(得分:0)
这里的问题是像doadformysql这样的SQL管理程序, mysql-workbench-community等与插入unicode不兼容 人物正确。其他程序如SQLyog,phpMyAdmin等。 提供兼容性以将unicode字符正确插入到mysql中 表/数据库中。
The solution for this problem is to use the compatible SQL Admin application
答案 2 :(得分:0)
可能连接参数缺少任何UTF-8规范。
阅读Trouble with UTF-8 characters; what I see is not what I stored,特别是有关“最佳做法”,“调试”和“问号”的部分。
调试提示:सूरज
,在utf8(或utf8mb4)中正确编码时为E0A4B8 E0A582 E0A4B0 E0A49C
。其他梵文字母看起来很相似。如果你得到了不同的东西,我可以帮你解读它。
(并且,是的,使用InnoDB,而不是MyISAM。)