让MySQL客户端命令行接受带有重音符号的字符作为输入

时间:2019-03-01 09:49:36

标签: mysql editline

我不知道如何使我的MySQL客户端能够接受带重音符号的字母作为Ubuntu命令行上的输入。这些字符不会在控制台上回显,也不会被接受为输入。据我所记得,在早期版本的mysql中,我通过使用命令mysql --default-character-set=utf8启动客户端来解决了此问题,但这不适用于 mysql Ver 14.14 Distrib 5.7.25(对于Linux(x86_64))在Ubuntu 18.04上使用EditLine包装器

起作用的是echo 'SELECT "é" AS letter' | mysql <dbname>,它给出正确的输出。

我怀疑EditLine包装程序对此行为有罪,但我不知道该如何摆脱此有害功能。

3 个答案:

答案 0 :(得分:0)

您可以使您的数据库支持UTF-8编码

请尝试以下操作:ALTER DATABASE your_database_name CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

答案 1 :(得分:0)

今天我发现我在当前bash中继承了先前安装的别名:

alias mysql='mysql --default-character-set=utf8'

自从我删除了别名(使用unalias mysql)以来,不当行为消失了。

答案 2 :(得分:-1)

如果您使用的是Terminal,则

Terminal > Preferences > Encodings > UTF-8 Unicode