Проблема с кодировкой: приложения Qt удаляют все символы без ASCII из файлов

Приложения Qt удаляют нелатинские символы из кодированных файлов ISO-8859 в моей системе Gentoo. На самом деле я пытаюсь объединить два немецких файла с KDiff3 и P4Merge (делая «Whlen» из «Wählen»). Оба инструмента не отображают Umlauts, и когда файл сохраняется, они также исчезают в файле. Используется шрифт Dejavu Monospace, Courier New показывает то же поведение.

Если кодированные файлы UTF-8 представлены инструментам, все нелатинцы обрабатываются правильно.

GTK Meld (и все другие приложения GTK) отлично справляется с символами (ISO-8859-1 и UTF-8). Я верю в свою конфигурацию Locale, но не могу понять, что не так …

Есть идеи?

Configs:

$ locale -a C POSIX de_DE de_DE.iso88591 de_DE.iso885915@euro de_DE.utf8 de_DE@euro deutsch en_US en_US.iso88591 en_US.utf8 german $ locale LANG=en_US.UTF-8 LC_CTYPE="en_US.UTF-8" LC_NUMERIC="en_US.UTF-8" LC_TIME="en_US.UTF-8" LC_COLLATE=C LC_MONETARY="en_US.UTF-8" LC_MESSAGES="en_US.UTF-8" LC_PAPER="en_US.UTF-8" LC_NAME="en_US.UTF-8" LC_ADDRESS="en_US.UTF-8" LC_TELEPHONE="en_US.UTF-8" LC_MEASUREMENT="en_US.UTF-8" LC_IDENTIFICATION="en_US.UTF-8" LC_ALL= 

Qt использует флаги для x11-libs/qt-core-4.8.2:4 :

 exceptions glib iconv qt3support ssl (-aqua) -c++0x -debug -icu -pch (-optimized-qmake%) (-qpa%) 

One Solution collect form web for “Проблема с кодировкой: приложения Qt удаляют все символы без ASCII из файлов”

Если кодированные файлы UTF-8 представлены инструментам, все нелатинцы обрабатываются правильно.

Затем я предлагаю вам перекодировать файлы в UTF-8, объединить их, а затем переустановить, если необходимо.

GTK Meld (и все другие приложения GTK) отлично справляется с символами (ISO-8859-1 и UTF-8).

Я думаю, вы могли бы назвать эту функцию, а не ошибку: когда приложение видит некоторые байтовые последовательности, оно не может интерпретироваться как символы в текущем языковом выражении, оно имеет несколько параметров. Это может начать гадать, что, по-видимому, является тем, что делает GTK. Или он может считать соответствующие байты ошибками и удалить их из файла. Или он может сообщить пользователю об этих проблемах, что было бы даже приятнее, но, по-видимому, KDE не заходит так далеко.

Я верю в свою конфигурацию Locale, но не могу понять, что не так …

Ваш язык указывает, что текстовые файлы должны быть закодированы как UTF-8. Однако ваши файлы не являются. Таким образом, есть несоответствие. Вы можете исправить это либо путем перекодировки файлов, либо путем запуска рассматриваемого процесса с другой локалью. LC_CTYPE должен быть соответствующим, но сначала начинайте с LC_ALL чтобы быть уверенным. При вызове команды из командной строки просто добавьте правильную настройку в команду, т. Е.

 LC_CTYPE=en_US.iso88591 kdiff3 foo bar 
  • Ошибка буфера ввода-вывода на устройстве - SSD в внешнем корпусе SATA3, подключенном через USB3
  • mosh-серверу нужен собственный язык UTF-8 для запуска
  • mv: Нет такой ошибки в файле или каталоге, хотя каталог, безусловно, существует
  • Смонтируйте / etc из диска в squashfs
  • Gentoo portage продолжается после выключения
  • Установка Chrome на 64-битный Gentoo без доступа суперпользователя
  • Пакеты для восстановления после обновления gcc на системах gentoo
  • Файл GRUB не читается правильно
  • DHCP-сервер со статическим IP-адресом, не разрешающим имена хостов (клиенты делают)
  • Как применить сразу несколько профилей в Gentoo?
  • couchdb не запускается
  • Linux и Unix - лучшая ОС в мире.