我的服务器上有问题,它无法识别符号,我已经尝试在系统区域设置上做很多事情,但没有任何方法可以解决这个问题。
我需要转动它(“ls”命令的输出):
'Um Maluco no Peda'$'\347''o'
'Um Milh'$'\343''o de Coisas'
'Voc'$'\352'' Nunca Esteve Sozinha - O Doc de Juliette'
'Vov'$'\364'' e Eu'
进入这个:
'Um Maluco no Pedaço'
'Um Milhão de Coisas'
'Você Nunca Esteve Sozinha - O Doc de Juliette'
'Vovô e Eu'
答案1
您的文件具有 ISO88591 字符集名称(每个重音字符一个字节而不是 2 个字节),那么它们不适合当今的默认字符集 UTF-8。
为了ls
不转义这些字符,您可以键入LANG=fr_FR.iso88591
(用您的语言代码替换 fr 和 FR,可能是 PT),然后ls
就不会转义强调的 ISO88591 字符。可用值用 列出localedef --list-archive
。如果没有一个值是 iso88591,您可能需要添加它们dpkg-reconfigure locales
(仅限基于 Debian 的系统)。
但如果您使用 UTF8 终端,字符将无法正常打印......您还应该使用 iso88591 终端。
iso88591 终端的替代方法是键入ls|iconv -f iso88591 -t utf-8
(不太实用)。
$LANG
您能否在更改值之前打印该值(这将给出您应该使用的国家代码,而不是fr
. 或键入locale
更完整的代码)。输出localedef --list-archive
也很有用。 (您的环境还有:KDE、Gnome...)
注意:如果您计划在 UTF-8 环境中使用这些文件,您可能需要重命名它们并避免切换到 ISO88951 模式。