Здравствуйте!
подскажите, пожалуйста, почему Текстовый редактор линукса не распознаёт кодировку ANSI и что можно сделать, чтоб он правильно её распознавал? у меня практически все текстовые файлы в этой кодировке, а Текстовый редактор вместо текста видит иероглифы...
да я имел в виду дефолтный gedit версия 3.2.0
они все что в ANSI вызывают проблемы, не понимаю что вам даст, если я приведу пример этих иероглифов, которые он отображает?
не понимаю что вам даст, если я приведу пример этих иероглифов, которые он отображает?
Хотя бы для того, чтобы знать, где проблема — в редакторе или файле.
Слабо верится, что в настройках gedit нет выбора кодировки.
В конце концов, если решать проблему «в лоб», можно все текстовые файлы переконвертировать в UTF ;)
А какую из ANSI кодировок он должен взять, cp1250, cp1251, cp1252, cp1253, cp1254, cp1255, cp1256, cp1257, cp1258? Вот вы ему руками и укажите (Файл - Открыть - Кодировка символов, или в командной строке: gedit --encoding=WINDOWS-1251 ...), какую вам надо. Список можно получить командой gedit --list-encodings
Хотя бы для того, чтобы знать, где проблема — в редакторе или файле.
в редакторе естественно, в тысячах файлов вряд ли может быть проблема
Lupo Alberto написал:
Слабо верится, что в настройках gedit нет выбора кодировки.
представьте себе, тока что проверял, да и при чём тут настройки, кодировки ведь находятся либо в папке с программой, либо где-то в системных файлах, поэтому при открытии файла она либо сразу используется, если есть, либо нет
Lupo Alberto написал:
В конце концов, если решать проблему «в лоб», можно все текстовые файлы переконвертировать в UTF ;)
ну зачем же утрировать, как будто мне больше делать нечего, как заниматься поиском и конвертированием нескольких тысяч файлов, да и потом ANSI меня вполне устраивает, по крайней мере на винде
bormant написал:
А какую из ANSI кодировок он должен взять, cp1250, cp1251, cp1252, cp1253, cp1254, cp1255, cp1256, cp1257, cp1258?
вы так говорите, как будто там есть такие кодировки, в основном там разные виды кириллических, одна западная и текущая локальная (UTF-8)
bormant написал:
Вот вы ему руками и укажите (Файл - Открыть - Кодировка символов, или в командной строке: gedit --encoding=WINDOWS-1251 ...), какую вам надо. Список можно получить командой gedit --list-encodings
там стоит Определённая автоматически, неужто программа не может правильно определить кодировку? если таковая конечно имеется, я ж не знаю какую именно надо выбирать, да и не хочется постоянно играться с выбором кодировки при открытии каждого файла, это ж морока
неужто программа не может правильно определить кодировку?
ключевое слово выделено. Как правило, подобная эвристика строится на статистике паросочетаний и не является однозначной.
Тем не менее, исходники gedit открыты, можете дописать желаемое поведение (лично или нанять кого-либо).
ps. gedit-2.30.4/data/gedit.schemas.in
<schema>
<key>/schemas/apps/gedit-2/preferences/encodings/auto_detected</key>
<applyto>/apps/gedit-2/preferences/encodings/auto_detected</applyto>
<owner>gedit</owner>
<type>list</type>
<list_type>string</list_type>
<locale name="C">
<default><!-- Translators: This is the sorted list of encodings used by gedit
for automatic detection of the file encoding. You may want to customize it adding
encodings that are common in your country, for instance the GB18030 encoding
for the Chinese translation. You may also want to remove the ISO-8859-15 encoding
(covering English and most Western European languages) if you think people
in you country will rarely use it.
"CURRENT" is a magic value used by gedit and it represents the encoding
for the current locale, so please don't translate the "CURRENT" term.
Only recognized encodings are used.
See http://svn.gnome.org/viewcvs/gedit/trunk/gedit/gedit-encodings.c?view=markup for
a list of supported encodings -->[UTF-8,CURRENT,ISO-8859-15,UTF-16]</default>
<short>Automatically Detected Encodings</short>
<long>Sorted list of encodings used by gedit for automatically detecting the encoding of
a file. "CURRENT" represents the current locale encoding. Only recognized encodings are used.</long>
</locale>
</schema>
Windows некорректно (в реалиях *unix) обрабатывает переносы строк, так что возможны варианты.
по крайней мере он корректно выбирает кодировку при открытии файлов, чтоб мне не приходилось гадать какую из них выбрать
Lupo Alberto написал:
text
find ~ -name "*.txt" -exec enca -x utf-8 {} \;
ну я же уже писал что ANSI меня вполне устраивает, по крайней мере на винде, ведь эти файлы находятся на компьютере с системой Windows, и конвертить их не хочется, мало ли глюк какой-нибудь случится по сети и испортит какие-нибудь файлы, не хочу рисковать
лучше бы подсказали, как сделать, чтоб он правильно распознавал файлы читая их на ноуте с линуксом
bormant написал:
вы так говорите, как будто там нет таких кодировок
[quote="Gr@f"]неужто программа не может правильно определить кодировку?
ключевое слово выделено. Как правило, подобная эвристика строится на статистике паросочетаний и не является однозначной.
Тем не менее, исходники gedit открыты, можете дописать желаемое поведение (лично или нанять кого-либо).[/quote]
знал бы как или было бы кого нанять, давно бы это сделал
bormant написал:
ps. gedit-2.30.4/data/gedit.schemas.in
[quote=bormant] <schema>
<key>/schemas/apps/gedit-2/preferences/encodings/auto_detected</key>
<applyto>/apps/gedit-2/preferences/encodings/auto_detected</applyto>
<owner>gedit</owner>
<type>list</type>
<list_type>string</list_type>
<locale name="C">
<default><!-- Translators: This is the sorted list of encodings used by gedit
for automatic detection of the file encoding. You may want to customize it adding
encodings that are common in your country, for instance the GB18030 encoding
for the Chinese translation. You may also want to remove the ISO-8859-15 encoding
(covering English and most Western European languages) if you think people
in you country will rarely use it.
"CURRENT" is a magic value used by gedit and it represents the encoding
for the current locale, so please don't translate the "CURRENT" term.
Only recognized encodings are used.
See http://svn.gnome.org/viewcvs/gedit/trunk/gedit/gedit-encodings.c?view=markup for
a list of supported encodings -->[UTF-8,CURRENT,ISO-8859-15,UTF-16]</default>
<short>Automatically Detected Encodings</short>
<long>Sorted list of encodings used by gedit for automatically detecting the encoding of
a file. "CURRENT" represents the current locale encoding. Only recognized encodings are used.</long>
</locale>
</schema>
Может быть есть смысл поднастроить gedit?[/quote]
наверное есть, тока надо знать что настраивать, а то как бы хуже не сделать, я ведь с линуксом поверхностно знаком
лучше бы подсказали, как сделать, чтоб он правильно распознавал файлы читая их на ноуте с линуксом
Пока приходится только верить вам на слово.
Уж извините, но напоминает: «А-а-а, у меня ничего не работает!». Мои просьбы предоставить файл для проверки вы игнорируете. Право ваше.
[quote="Gr@f"]лучше бы подсказали, как сделать, чтоб он правильно распознавал файлы читая их на ноуте с линуксом
Пока приходится только верить вам на слово.
Уж извините, но напоминает: «А-а-а, у меня ничего не работает!». Мои просьбы предоставить файл для проверки вы игнорируете. Право ваше.[/quote]
да, пожалуйста:
Определяет, однако.
Текст был сохранён в gedit как ISO-8859-15 и открыт с автоопределением кодировки.
да Х3 чё с этим текстовым редактором, пару раз определял, когда я тыкал западную кодировку, а теперь опять не определяет, даже если тыкаю эту кодировку