linux <-> android кодировка имён файлов

Для новичков как вообще в Linux, так и в конкретной теме, к которой относится вопрос.

Модератор: Bizdelnick

Аватара пользователя
yoricI
Сообщения: 3088
ОС: gentoo fluxbox

linux <-> android кодировка имён файлов

Сообщение yoricI »

Здравия!
Вот уже несколько лет замечаю (и удивляюсь, что до сих пор не устранили) кракозябли при просмотре как минимум в эмуляторе терминала (xterm) имён файлов на русском, скопированных из андроида. Или это у одного меня так?

В mc:

Код: Выделить всё

������� �� ���� �� ������� ������������ 1.html
������� �� ���� �� ������� ������������ 2.html
В xterm:

Код: Выделить всё

 $ ls -l /tmp/rty/hunta/
 ''$'\302\373\357\350\361\352\340'' '$'\350\347'' '$'\305\303\320\315'' '$'\356\341'' '$'\356\341\372\345\352\362\345'' '$'\355\345\344\342\350\346\350\354\356\361\362\350'' 1.html'
 ''$'\302\373\357\350\361\352\340'' '$'\350\347'' '$'\305\303\320\315'' '$'\356\341'' '$'\356\341\372\345\352\362\345'' '$'\355\345\344\342\350\346\350\354\356\361\362\350'' 2.html'
При обратном просмотре (то есть с linux на андроиде) они же выглядят как надо, по-русски.

У меня:

Код: Выделить всё

CONFIG_NLS=y
CONFIG_NLS_DEFAULT="utf8"
CONFIG_NLS_UTF8=y

 $ locale
LANG=ru_RU.utf8
LC_CTYPE="ru_RU.utf8"
LC_NUMERIC="ru_RU.utf8"
LC_TIME="ru_RU.utf8"
LC_COLLATE="ru_RU.utf8"
LC_MONETARY="ru_RU.utf8"
LC_MESSAGES=en_US
LC_PAPER="ru_RU.utf8"
LC_NAME="ru_RU.utf8"
LC_ADDRESS="ru_RU.utf8"
LC_TELEPHONE="ru_RU.utf8"
LC_MEASUREMENT="ru_RU.utf8"
LC_IDENTIFICATION="ru_RU.utf8"
LC_ALL=
А андроидах не знаю. А у вас?
Спасибо сказали:
Аватара пользователя
s.xbatob
Сообщения: 1139
ОС: Fedora

Re: linux <-> android кодировка имён файлов

Сообщение s.xbatob »

у меня ничего подобного не наблюдается. Чем копируешь?
Спасибо сказали:
Аватара пользователя
yoricI
Сообщения: 3088
ОС: gentoo fluxbox

Re: linux <-> android кодировка имён файлов

Сообщение yoricI »

Total Commander for Android. Правда, андроид у меня старший всего лишь 6.х.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21519
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: linux <-> android кодировка имён файлов

Сообщение Bizdelnick »

yoricI писал:
29.08.2021 11:38
Total Commander for Android.
Так это не файлы, скопированные из андроида, а файлы, скопированные андроидом? Каким образом, на сетевую шару?
Кодировка это CP1251. Видимо, TC считает, что так надо, ибо нет десктопной ОС кроме винды.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
yoricI
Сообщения: 3088
ОС: gentoo fluxbox

Re: linux <-> android кодировка имён файлов

Сообщение yoricI »

Bizdelnick писал:
29.08.2021 12:28
не файлы, скопированные из андроида, а файлы, скопированные андроидом?
Да.
Bizdelnick писал:
29.08.2021 12:28
Каким образом, на сетевую шару?
По sftp

Попробую другим образом.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21519
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: linux <-> android кодировка имён файлов

Сообщение Bizdelnick »

yoricI писал:
29.08.2021 21:35
По sftp
Сделал файл к именем на кириллице, скопировал по SFTP на комп Ghost Commander'ом. Проблемы нет. Попробуйте что-то кроме TC.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
yoricI
Сообщения: 3088
ОС: gentoo fluxbox

Re: linux <-> android кодировка имён файлов

Сообщение yoricI »

Попробовал Ghost Commander, но до копирования пока не добрался, до чего ж неудобно там всё. Может одержу победу, или буду другое искать.
Спасибо сказали:
MiK13
Сообщения: 1304
ОС: Linux Debian

Re: linux <-> android кодировка имён файлов

Сообщение MiK13 »

Ради интереса на основании
yoricI писал:
26.08.2021 13:09

Код: Выделить всё

 ''$'\302\373\357\350\361\352\340'' '$'\350\347'' '$'\305\303\320\315'' '$'\356\341'' '$'\356\341\372\345\352\362\345'' '$'\355\345\344\342\350\346\350\354\356\361\362\350'' 1.html'
 ''$'\302\373\357\350\361\352\340'' '$'\350\347'' '$'\305\303\320\315'' '$'\356\341'' '$'\356\341\372\345\352\362\345'' '$'\355\345\344\342\350\346\350\354\356\361\362\350'' 2.html'
Написал простую программу:

Код: Выделить всё

#include <stdio.h>
int main() {
  puts("''$'\302\373\357\350\361\352\340'' '$'\350\347'' '$'\305\303\320\315'' '$'\356\341'' '$'\356\341\372\345\352\362\345'' '$'\355\345\344\342\350\346\350\354\356\361\362\350'' 1.html'");
  puts("''$'\302\373\357\350\361\352\340'' '$'\350\347'' '$'\305\303\320\315'' '$'\356\341'' '$'\356\341\372\345\352\362\345'' '$'\355\345\344\342\350\346\350\354\356\361\362\350'' 2.html'");
}
И вот результат её работы:

Код: Выделить всё

./tn | iconv -f cp1251
''$'Выписка'' '$'из'' '$'ЕГРН'' '$'об'' '$'объекте'' '$'недвижимости'' 1.html'
''$'Выписка'' '$'из'' '$'ЕГРН'' '$'об'' '$'объекте'' '$'недвижимости'' 2.html'
Надо просто после копирования сменить кодировку этих файлов с 1251 на UTF-8.
В mc это делается за несколько секунд
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21519
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: linux <-> android кодировка имён файлов

Сообщение Bizdelnick »

MiK13 писал:
01.09.2021 19:19
Написал простую программу
Зачем? Это же синтаксис шелла:

Shell

% echo ''$'\302\373\357\350\361\352\340'' '$'\350\347'' '$'\305\303\320\315'' '$'\356\341'' '$'\356\341\372\345\352\362\345'' '$'\355\345\344\342\350\346\350\354\356\361\362\350'' 1.html' | iconv -f cp1251
Выписка из ЕГРН об объекте недвижимости 1.html
%
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
MiK13
Сообщения: 1304
ОС: Linux Debian

Re: linux <-> android кодировка имён файлов

Сообщение MiK13 »

Bizdelnick писал:
01.09.2021 21:55
MiK13 писал:
01.09.2021 19:19
Написал простую программу
Зачем? Это же синтаксис шелла:

Shell

% echo ''$'\302\373\357\350\361\352\340'' '$'\350\347'' '$'\305\303\320\315'' '$'\356\341'' '$'\356\341\372\345\352\362\345'' '$'\355\345\344\342\350\346\350\354\356\361\362\350'' 1.html' | iconv -f cp1251
Выписка из ЕГРН об объекте недвижимости 1.html
%
Я просто ещё не достаточно освоил bash и меня в этой строке смутили знаки $. Оказывается он в сочетании с апострофами похож на -e.
А написать программу с двумя puts -- минутное дело.
Спасибо сказали: