Я не могу открыть файлы с именами на арабском языке в Kubuntu 14.04

У меня проблема с чтением файлов на арабском языке. Когда я был в Ubuntu с Unity, он мог читать их, но когда я использую KDE, они не могут, если я не переименую их латинскими буквами. Я посмотрел на некоторые решения, которые нашел, такие как Установка пакета на арабском языке, или эту серию команд:

~# echo ar__AR.UTF8 >> /var/lib/locales/supported.d/local  
~# more /var/lib/locales/supported.d/local                   
fr_FR.UTF-8 UTF-8
en_US.UTF-8 UTF-8
ru_RU.UTF-8 UTF-8
ar__AR.UTF8
~# sudo dpkg-reconfigure locales
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = "en:ar:fr:en",
        LC_ALL = (unset),
        LC_PAPER = "en_DZ.UTF-8",
        LC_ADDRESS = "en_DZ.UTF-8",
        LC_MONETARY = "en_DZ.UTF-8",
        LC_NUMERIC = "en_DZ.UTF-8",
        LC_TELEPHONE = "en_DZ.UTF-8",
        LC_IDENTIFICATION = "en_DZ.UTF-8",
        LC_MEASUREMENT = "en_DZ.UTF-8",
        LC_TIME = "en_DZ.UTF-8",
        LC_NAME = "en_DZ.UTF-8",
        LANG = "en_DZ.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
Generating locales...
  ar_AE.UTF-8... done
  ar_BH.UTF-8... done
  ar_DZ.UTF-8... done
  ar_EG.UTF-8... done
  ar_IN.UTF-8... done
  ar_IQ.UTF-8... done
  ar_JO.UTF-8... done
  ar_KW.UTF-8... done
  ar_LB.UTF-8... done
  ar_LY.UTF-8... done
  ar_MA.UTF-8... done
  ar_OM.UTF-8... done
  ar_QA.UTF-8... done
  ar_SA.UTF-8... done
  ar_SD.UTF-8... LC_MONETARY: value of field `int_curr_symbol' does not correspond to a valid name in ISO 4217
LC_ADDRESS: numeric country code `736' not valid
failed
  ar_SY.UTF-8... done
  ar_TN.UTF-8... done
  ar_YE.UTF-8... done
Error: Bad entry 'ar__AR.UTF8 '
  en_AG.UTF-8... done
  en_AU.UTF-8... done
  en_BW.UTF-8... done
  en_CA.UTF-8... done
  en_DK.UTF-8... done
  en_GB.UTF-8... done
  en_HK.UTF-8... done
  en_IE.UTF-8... done
  en_IN.UTF-8... done
  en_NG.UTF-8... done
  en_NZ.UTF-8... done
  en_PH.UTF-8... done
  en_SG.UTF-8... done
  en_US.UTF-8... done
  en_ZA.UTF-8... done
  en_ZM.UTF-8... done
  en_ZW.UTF-8... done
  fr_BE.UTF-8... done
  fr_CA.UTF-8... done
  fr_CH.UTF-8... done
  fr_FR.UTF-8... done
  fr_LU.UTF-8... done
  ru_RU.UTF-8... up-to-date
Generation complete.

Как я могу решить эту проблему? Я не хочу просматривать свои файлы и менять их имена или возвращаться в Unity, мне нравится KDE.

1 ответ

Решение

У вас задано недопустимое имя локали - нет такой вещи, как "en_DZ.UTF-8" - которая заставляет вашу систему переключаться на локаль не-UTF-8 "C". Это, вероятно, то, что вызывает вашу проблему.

Я не использую Kubuntu сам, но вы должны открыть графический интерфейс для языковых настроек. Где-то там вы, вероятно, выбрали Алжир в качестве страны. Чтобы получить действительное название локали, измените его, например, на США или Великобританию.

Далее вам лучше удалить эту ошибочную строку в /var/lib/locales/supported.d/local:

sudo sed -i '/ar__AR/d' /var/lib/locales/supported.d/local

Затем выйдите и войдите снова.

Наконец, восстановите ваш язык:

sudo locale-gen --purge

На этот раз выходные данные должны быть очищены от сообщений об ошибках, за исключением сообщений о LC_MONETARY и LC_ADDRESS в ar_SD.UTF-8.

Другие вопросы по тегам