让 MySQL 客户端命令行接受带有重音符号的字符作为输入
Let MySQL client command line accept characters with accents as input
我不知道如何让我的 MySQL 客户端在 Ubuntu 的命令行上接受带有重音符号的字母作为输入。这些字符不会在控制台上回显,也不会被接受为输入。据我所知,在 mysql 的早期版本中,我通过使用命令 mysql --default-character-set=utf8
启动客户端解决了这个问题,但这不适用于 mysql Ver 14.14 Distrib 5.7.25,Linux (x86_64) 在 Ubuntu 18.04.
上使用 EditLine wrapper
起作用的是 echo 'SELECT "é" AS letter' | mysql <dbname>
,它给出了正确的输出。
我怀疑 EditLine 包装器造成了这种行为,但我不知道如何摆脱这种不需要的功能。
您可以让您的数据库支持 UTF-8 编码
尝试以下操作:ALTER DATABASE your_database_name CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
如果您正在使用 Terminal
、
Terminal > Preferences > Encodings > UTF-8 Unicode
我今天发现,我在当前 bash 中继承了以前安装的设置的别名:
alias mysql='mysql --default-character-set=utf8'
自从我删除了那个别名(使用 unalias mysql
)后,不当行为就消失了。
我不知道如何让我的 MySQL 客户端在 Ubuntu 的命令行上接受带有重音符号的字母作为输入。这些字符不会在控制台上回显,也不会被接受为输入。据我所知,在 mysql 的早期版本中,我通过使用命令 mysql --default-character-set=utf8
启动客户端解决了这个问题,但这不适用于 mysql Ver 14.14 Distrib 5.7.25,Linux (x86_64) 在 Ubuntu 18.04.
起作用的是 echo 'SELECT "é" AS letter' | mysql <dbname>
,它给出了正确的输出。
我怀疑 EditLine 包装器造成了这种行为,但我不知道如何摆脱这种不需要的功能。
您可以让您的数据库支持 UTF-8 编码
尝试以下操作:ALTER DATABASE your_database_name CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
如果您正在使用 Terminal
、
Terminal > Preferences > Encodings > UTF-8 Unicode
我今天发现,我在当前 bash 中继承了以前安装的设置的别名:
alias mysql='mysql --default-character-set=utf8'
自从我删除了那个别名(使用 unalias mysql
)后,不当行为就消失了。