Форум программистов, компьютерный форум, киберфорум
Windows XP
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.52/67: Рейтинг темы: голосов - 67, средняя оценка - 4.52
0 / 0 / 0
Регистрация: 27.02.2013
Сообщений: 7
1

Кодировка имени файлов и папок

22.01.2015, 11:08. Показов 13247. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте. У меня вопрос связанный с кодировочными таблицами в операционных системах. Изрыл весь интернет по своему вопросу, 3 дня искал на разных поисковиках, ответа так и не нашёл, возможно кто-то из спецов здесь поможет в данном вопросе?

Windows XP/Vista/7 - в них я создаю файл/папку и первым-же делом машина мне присваивает на файл/папку имя ("Новая папка" или "Текстовый документ.txt") дальше уже меняешь имя как хочешь, т.е. ни файл ни папка вообще без имени существовать не могут.

Вопрос такой: в какой кодировке он мне прописал это русское имя созданной папки/файла? Например винда русская делает это в ASCII но если я создам папку/файл в Linux Ubuntu 14.04 с русским именем, то он мне должен русские символы создать в UTF-8, но как это проверить??? ведь в убунте может для русских автоматически тот-же ASCII использовать??? И проблема в том, что когда я всё это скину на USB-флешку и воткну её в др. систему, например Mac OS X у меня будет что-то вроде: лдвтлдмвы если конечно-же в Маке нет ASCII <- будет ли такое на самом деле?

И вообще, как проверить кодировку русских символов ? Например я хотел в какой нить оси (пусть даже portable или урезанной) найти её кодировочные таблицы, удалить все кроме UTF-8 (русской/китайской/корейской) и на ней я сразу бы знал что пишу я имя файла русскими символами из кодовой таблице UTF-8, вставив флешку с папками/файлами сразу бы увидел кракозябры которые могут быть чем угодно но не UTF-8 и *знал бы это* - своего рода получился бы детектор кодировок не utf8.

В поисках места нахождения кодировочных таблиц у windows xp понял что их там тупо нет! она использует псевдо-кодировку вытаскивая всякие символы из всяких там шрифтов так чтоб в итоге соответствовало кодовым стандартным таблицам, но самих таблиц нет.

Может кто нибудь посоветовать операционную систему, которая использует кодовые таблицы, в которой я оставлю только таблицы utf8 - разных языков, в том числе и русских симвоов (система не запорится т.к. ось пишется на англ. символах и цифрах а их местоположение во всех кодировках одинаково (вроде))...

Или может ли помочь какой нить дистрибутив который не знает ASCII будет писать русские имена файлов в utf? но тут ещё вопрос, мне нужен именно utf-8, не 16 не 32 не KOI*** а именно utf8.

Хочу называть файлы и папки русскими в перемешку с корейскими/китайскими символами (это будет перемешка utf8-русский/utf8-8-корейский/utf8-китайский), нужен мировой стандарт и лучше чем кодировку utf-8 для этого не нашёл.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.01.2015, 11:08
Ответы с готовыми решениями:

Создание папок по имени файлов и перемещение этих файлов в созданные папки
Господа, прошу помощи. В батниках полный ноль Имеется папка с множеством файлов, скриншот во...

Ограничения имени файлов и папок в Windows 10
Максимальный размер имени файлов и папок в Windows, как мне известно, 260 символов. Именно такое...

Создание папок по имени файла и перенос файлов
Существует список файлов вида: filename1.pdf route_filename1.txt filename2.pdf...

Переименование файлов по имени папок, в которых они находятся
Доброго времени суток. Не программист, сам бат-ники писать их не умею, знаю только, что с их...

5
Заблокирован
22.01.2015, 13:09 2
Основная в NTFS - UTF-16 , только оно тебе не нужно, для работы с именами есть как W(fixed Unicode, но по сути оно же с редкими исключениями - UTF-16), так и A функции. А под никсы - опции монтирования и локаль в любую юникодную и всё в порядке.
0
0 / 0 / 0
Регистрация: 27.02.2013
Сообщений: 7
23.01.2015, 09:45  [ТС] 3
На счёт W и A - функций я не понял, да и гугл не знает, но вроде как нашёл тот самый подходящий вариант:

Удаление лишних локалей в Ubuntu.
В файле locale-gen смотрим пути, где расположены файлы локалей.

nano /usr/sbin/locale-gen
...
SUPPORTED=/var/lib/locales/supported.d
LOCALES=/usr/share/i18n/locales
STATEDIR=/var/lib/belocs

В директории supported.d у меня присутствует 3 файла:

# ls -l /var/lib/locales/supported.d
-rw-r--r-- 1 root root 19 янв. 18 15:14 en
-rw-r--r-- 1 root root 18 окт. 24 13:37 local
-rw-r--r-- 1 root root 36 янв. 7 01:42 ru

Отредактировал файл en, оставив только en_US.UTF-8 UTF-8 и удалив остальные варианты.

Перегенерируем локали:

# locale-gen
Generating locales...
en_US.UTF-8... up-to-date
ru_RU.UTF-8... up-to-date
ru_UA.UTF-8... up-to-date
Generation complete.

Дальше необходимо удалить неиспользуемые локали командой:

# locale-gen --purge

Проверяем. Теперь остались только нужные локали:

# locale -a
C
C.UTF-8
en_US.utf8
POSIX
ru_RU.utf8
ru_UA.utf8

Данная шляпа подходит к ubuntu server 12.04 но мне тут шепнули что Убунта изначально делалась как ось для планшетов, это так?

я пробовал пока её ставить на виртуальной машине Virt.box и чесно, размер дисплея не впечатлил... обычное окно с настройками раз в 10 больше размера экрана...

Какой вариант линукса для ПК может отключить ненужные локали_кодировки как то, что описано выше под спойлером?

Всю жизнь сидел на винте и в линуксах не шарю, вроде как в разных линуксах разные комманды, да?
0
Заблокирован
23.01.2015, 16:17 4
Моя твоя не понимать. Иди обратно man mount , не вижу никаких проблем.
0
16 / 17 / 6
Регистрация: 26.05.2013
Сообщений: 58
13.02.2015, 11:15 5
Цитата Сообщение от TEHb7 Посмотреть сообщение
На счёт W и A - функций я не понял
В WinAPI для функций, работающих со строками, определено по два варианта: один с суффиксом A (от ANSI, т.е. восьмибитная кодировка), другой с суффиксом W (от слова wide - "широкий" символ, 16 бит).
Например, MessageBoxW и MessageBoxA.
Также для них определен макрос MessageBox, который разворачивается либо в первое, либо во второе, в зависимости от настроек проекта.
ANSI-функции достались нам от первых версий Windows, двухбайтовые же варианты появились в NT и сейчас используются в Windows по умолчанию.
0
0 / 0 / 0
Регистрация: 27.02.2013
Сообщений: 7
18.02.2015, 10:39  [ТС] 6
Вобщем, проблему я пока что так и не решил... Может кто подскажет что я сделал не так?

Напомню - вопрос в том, что нужно определить кодировку в именах файлах и папок в маздае (Windows) интересует исключительно UTF-8 а не всякие cp-1251, cp-1252 (+расширенная), koi8-r и прочая маздаевская фигня т.к. написав имена файлов и папок в винде русскими символами в других системах будут каракули а UTF-8 считается как мировой эталон и определится нормально в любой среде (если у неё есть русская лаколизация)...

Я сделал следующее: Установил Ubuntu 14.04 на USB-HDD, загрузился с неё, просмотрел список установленных локалей командой: locale -a

удалил лишние локали кроме интересующих меня английской.utf8 и русской.utf8 командой: sudo locale-gen --purge en_US.utf8 ru_RU.utf8 && echo "Success!"

сново проверил удалилось ли ненужное: locale -a

он мне выдал: С.UTF8
en_US.UTF8
POSIX
ru_RU.UTF8
т.е. всё казалось бы нормально.... (и тут Остапа понесло)... Подключаю HDD с маздаем (или монтирую ntfs, неважно), открываю... а там - ВСЁ НОРМАЛЬНО!!! --- КАК??? Я удалил все русские локали кроме UTF8 RUS.

Винда имена файлов пишет в 1251 или кои8? Убунту не должна была прочитать правильно эти русские виндовские шрифты т.к. я 1251 и кои8 локали УДАЛИЛ!!! а убунта их видет правильно (мне нужны были кракозябры!) а так получается что Windosw XP SP3 имена файлов и папок пишет мне в UTF8 ???? Иначе как объяснить это явление?

Решил попробовать другой момент, в Тотал Коммандоре у меня стоит плагин (Транслятор) в котором я русские имена файлов и папок переделываю в UTF8 и он мне их тут-же переименовывает в каракули, но когда я гружу Ubuntu то она эти каракули так-же видет как и винда - не распознаёт, КАК??? на убунте же Ru-UTF8 локаль стоит!!! Что за бред? Выходит что мне Тоталовский транслятор переименовывает не в UTF8 (саму кодировку) а в бредятину как оно бы отображалось если бы у меня винда не понимала бы UTF8 ???

Вобщем вопрос: так и не понят, почему Убунту, имеющая только русский утф8 отлично распознаёт виндовский русский (или винда мне их уже в утф8 катает или в убунте что-то не удалено)

Для доказательства того, что локаль правильно отображается внутри файла я в тегах .ogg и .mp3 написал коменты на русском (в винде), убунта распознала русский тег в .ogg нормально т.к. по "паспорту" в .ogg теги заносятся с кодировкой UTF8 а вот .mp3 показала мне убунта каракули (как и должно быть, т.к. мп3-теги в утф16 кодировки а я её в убунте удалил) Но вот почему сами имена файлов и папок русские написаные в маздае продолжают распознаваться в Убунте - я не могу понять. Если есть у кого идеи - отпишитесь...
0
18.02.2015, 10:39
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.02.2015, 10:39
Помогаю со студенческими работами здесь

Переименование файлов по имени папок, в которых они находятся
Доброго времени суток. Не программист, сам бат-ники писать их не умею, знаю только, что с их...

Поиск и перемещение файлов по имени с созданием структуры папок
Коллеги, приветствую! Очень надеюсь на помощь знающих людей, т.к. сам не силен в написании...

Удалить символы в конце имени файлов и папок
Здравствуйте.После неудачного исполнения скрипта в папке пользователя, файлы и папки которые...

Метод с возможностью осуществлять поиск файлов и папок по имени размеру, датам создания, доступа и модификации
Не могу найти подходящею функцию возможность осуществлять поиск файлов и папок по имени размеру,...

Excel / Очистка конкретный папок от старых папок и файлов с исключением
Доброго времени суток! Excel: Есть ListBox (в коде ListDel), в котором мы создаем список папок....

Не открываются свойства файлов и папок + пропали иконки папок
При нажатии правой кн. мыши на любом объекте &gt; Свойства ничего не происходит. Также пропали все...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru