字符集格式问题

字符集格式问题

我的服务器上有问题,它无法识别符号,我已经尝试在系统区域设置上做很多事情,但没有任何方法可以解决这个问题。

我需要转动它(“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 模式。

相关内容