Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Хочу все знать (http://forum.oszone.net/forumdisplay.php?f=23)
-   -   [решено] ANSI->UTF-8 конвертер (http://forum.oszone.net/showthread.php?t=260050)

The_Immortal 06-05-2013 17:20 2145413

ANSI->UTF-8 конвертер
 
Ребят, подскажите, пожалуйста, нормальный конвертер из ANSI в UTF-8.
Есть множество xml-файлов с кодировкой ANSI.
Принимающая же программа распознает только UTF-8 :(

Гуглил, гуглил, но так и не нагуглил нормального решения.


Благодарю!

lxa85 06-05-2013 17:31 2145422

The_Immortal, NotePad++
Множество - это сколько и как часто?

Mr.Benq 06-05-2013 17:46 2145439

Цитата:

Цитата The_Immortal
Гуглил, гуглил, но так и не нагуглил нормального решения. »

Плохо "гуглили" :)

Цитата:

Цитата The_Immortal
конвертер из ANSI в UTF-8. »

Можно еще ANSI/UTF-8 Конвертер v.1.1

The_Immortal 06-05-2013 17:46 2145440

lxa85,
Цитата:

Цитата lxa85
NotePad++ »

Вот он как раз и хреновенько с этой задачей справляется. Хотя, возможно, я что-то не так делаю:
Файл 98463

Далее выбираю: "Кодировки - Кодировать в UTF-8".

Вот результат:
Файл 98464


Цитата:

Цитата lxa85
Множество - это сколько и как часто? »

В районе нескольких сотен, раскиданных по разным каталогам. Как часто - периодически :)

The_Immortal 06-05-2013 19:19 2145536

Mr.Benq, Цитата Mr.Benq:
Можно еще ANSI/UTF-8 Конвертер v.1.1 »
Недостатки:

1) видит только содержимое каталога, в котором находится сам исполняемый файл. Т.к. каталогов у меня куча - это очень неудобно;
2) конвертирует нормальным образом только txt (по крайней мере не xml) - приходится менять расширение на txt, конвертировать, а потом расширение возвращать опять на xml, что также неудобно.

Iska 06-05-2013 20:04 2145567

PowerShell: windows - Batch-convert files for encoding - Super User.

lxa85 06-05-2013 21:00 2145607

The_Immortal, надо выбирать "Преобразовать в UTF-8".
Для Notepad++ возможно придется писать скрипт или макрос.
Развивая тему текстовых процессоров, можно попробовать посмотреть в сторону "sublime text 2". Этот редактор платный, но имеет достаточно широкие возможности.
----
Можно продолжить вариант предложенный Iska, что будет более правильно.
(я вот хоть убейся сходу не могу найти нормальной документации про -encoding, хотя вроде правильные вопросы гуглу задаю, про msdn все дела :( )
Нашел! Через справку оболочки
PowerShell ISE, по Out-File, третий пример. И то, про ASCII.

-Кодирование <string>
Задает тип кодировки, используемой в файле. Допустимые значения: "Unicode", "UTF7", "UTF8", "UTF32", "ASCII", "BigEndianUnicode", "Default" и "OEM". По умолчанию используется кодировка "Unicode".

Значение "Default" соответствует кодировке текущей кодовой страницы ANSI.

"OEM" соответствует идентификатору кодовой страницы текущего производителя оригинального оборудования для операционной системы.

Пример 3
C:\PS>$a = get-process

C:\PS> out-file -filepath C:\Test1\process.txt -inputobject $a -encoding ASCII -width 50

Описание
-----------
Эти команды отправляют список процессов, выполняемых на компьютере, в файл Process.txt. Текст имеет кодировку ASCII, чтобы его могли обрабатывать программы поиска, такие как Findstr и Grep. По умолчанию командлет Out-File использует формат Unicode.

Первая команда получает список процессов и сохраняет его в переменной $a. Вторая команда с помощью командлета Out-File отправляет список процессов в файл Process.txt.

Параметр InputObject указывает, что ввод хранится в переменной $a. Параметр Encoding используется для преобразования вывода в формат ASCII. Параметр Width ограничивает длину каждой строки в файле 50 знаками. Так как строки вывода после 50 знаков усекаются, самый правый столбец таблицы процессов не выводится.

Поубивал бы!
---
В качестве альтернативы можно предложить использовать Python. В ряде случаев (проблема вывода информации) он мне понятней. stackoverflow how-do-i-convert-a-files-format-from-unicode-to-ascii-using-python
Рекурсивную "Шагалку по директориям" могу прислать.

Iska 07-05-2013 07:19 2145813

Хорошо бы ещё пару-тройку образцов пользуемых xml, дабы пощупать. Как там внутри с encoding.


Время: 17:50.

Время: 17:50.
© OSzone.net 2001-