0 / 0 / 0
Регистрация: 27.02.2013
Сообщений: 7
|
|
1 | |
Кодировка имени файлов и папок22.01.2015, 11:08. Показов 13247. Ответов 5
Метки нет (Все метки)
Здравствуйте. У меня вопрос связанный с кодировочными таблицами в операционных системах. Изрыл весь интернет по своему вопросу, 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
|
22.01.2015, 11:08 | |
Ответы с готовыми решениями:
5
Создание папок по имени файлов и перемещение этих файлов в созданные папки Ограничения имени файлов и папок в Windows 10 Создание папок по имени файла и перенос файлов Переименование файлов по имени папок, в которых они находятся |
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
|
16 / 17 / 6
Регистрация: 26.05.2013
Сообщений: 58
|
|
13.02.2015, 11:15 | 5 |
В 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 | |
18.02.2015, 10:39 | |
Помогаю со студенческими работами здесь
6
Переименование файлов по имени папок, в которых они находятся Поиск и перемещение файлов по имени с созданием структуры папок Удалить символы в конце имени файлов и папок Метод с возможностью осуществлять поиск файлов и папок по имени размеру, датам создания, доступа и модификации Excel / Очистка конкретный папок от старых папок и файлов с исключением Не открываются свойства файлов и папок + пропали иконки папок Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |