我有一个包含西class牙文字的数据库。 它包含像sueño这样的文字,其中有“特殊字符”。 MySQL数据库sorting规则设置为支持外来字符的utf-8-general-ci,所以数据库应该没问题。
我有一个python脚本,我在bash shell中运行,并返回数据库中的所有单词,包括单词sueño。 问题是,bash shell不能正确显示“sueño”这个词。 n(在其上方有波浪号)在bash shell中显示时出现乱码。 所有其他没有特殊字符的英文单词都会正确显示。
有什么办法可以在bash shell中启用外来字符(特殊字符)支持吗?
公关感谢
你能显示locale命令的输出吗?
例:
LANG=en_CA.UTF-8 LANGUAGE=en_CA:en LC_CTYPE="en_CA.UTF-8" LC_NUMERIC="en_CA.UTF-8" LC_TIME="en_CA.UTF-8" LC_COLLATE="en_CA.UTF-8" LC_MONETARY="en_CA.UTF-8" LC_MESSAGES="en_CA.UTF-8" LC_PAPER="en_CA.UTF-8" LC_NAME="en_CA.UTF-8" LC_ADDRESS="en_CA.UTF-8" LC_TELEPHONE="en_CA.UTF-8" LC_MEASUREMENT="en_CA.UTF-8" LC_IDENTIFICATION="en_CA.UTF-8" LC_ALL=
如果您更改了LANG和LANGUAGE envvariables,您将能够在terminal中显示这些字符。 你可以这样做一个简单的testing:
LANG=en_CA.UTF-8; LANGUAGE=en_CA:en; echo ñ;
如果这样做,你可能想永久地改变你的语言环境为基于UTF-8的。