我不知道如何使我的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包装程序对此行为有罪,但我不知道该如何摆脱此有害功能。
答案 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