我在 windows 上使用 cmd 看不到数据库中的 utf8mb4 字符
I cannot see utf8mb4 characters from my database with cmd on windows
这就是我在 Windows cmd 上连接到我的数据库的方式:mysql -u mydb -h myip -p
。
自从我尝试将我的 utf8 数据库换成 utf8mb4 以来,它一直有效。我用 php 或 java 应用的更改工作正常,从 php、java 或 phpmyadmin 加载时我可以正确看到这些字符,但在我的命令.
我尝试将 --default-character-set=utf8
和 --default-character-set=utf8mb4
添加到 cmd 连接,但没有成功。奇怪的是,如果我 运行 像 SELECT '☺';
这样的简单句子,它会正确显示该字符。
我是不是漏掉了什么?
根据 danibg 在我们头脑风暴结束时的发现 session,他发现了这个 link 描述这是一个适用于 5.5 的 MySQL 错误,由 op 使用,显然这是针对 MySQL 5.6+
修复的
We tested 5.6 version of client against 5.5 version of server,
especially with respect to non ANSI characters. The 5.6 client worked
as expected and the issue mentioned in this bug was also fixed.
结果,解决方法如下:
- 创建备份并至少存储 2 个副本
- 卸载MySQL5.5
- 安装MySQL 5.6+
- 导入副本
- 做很多测试
这就是我在 Windows cmd 上连接到我的数据库的方式:mysql -u mydb -h myip -p
。
自从我尝试将我的 utf8 数据库换成 utf8mb4 以来,它一直有效。我用 php 或 java 应用的更改工作正常,从 php、java 或 phpmyadmin 加载时我可以正确看到这些字符,但在我的命令.
我尝试将 --default-character-set=utf8
和 --default-character-set=utf8mb4
添加到 cmd 连接,但没有成功。奇怪的是,如果我 运行 像 SELECT '☺';
这样的简单句子,它会正确显示该字符。
我是不是漏掉了什么?
根据 danibg 在我们头脑风暴结束时的发现 session,他发现了这个 link 描述这是一个适用于 5.5 的 MySQL 错误,由 op 使用,显然这是针对 MySQL 5.6+
修复的We tested 5.6 version of client against 5.5 version of server, especially with respect to non ANSI characters. The 5.6 client worked as expected and the issue mentioned in this bug was also fixed.
结果,解决方法如下:
- 创建备份并至少存储 2 个副本
- 卸载MySQL5.5
- 安装MySQL 5.6+
- 导入副本
- 做很多测试