Как проверить кодировку файла xml
Перейти к содержимому

Как проверить кодировку файла xml

  • автор:

Как проверить кодировку файла xml

Здравствуйте, frёёm, Вы писали:

ёё>Оч. хочу класс который тупо читает любой поданный на вход xml файл в java.lang.String.
ёё>Проблема в том что хотелось бы определять кодировку файла на лету, если она задана.

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

Узнать кодировку xml файла

От: frёёm
Дата: 03.03.08 10:49
Оценка:

Оч. хочу класс который тупо читает любой поданный на вход xml файл в java.lang.String.
Проблема в том что хотелось бы определять кодировку файла на лету, если она задана.

Наверняка кто-то, где-то уже что-то для этого написал ?

Ни что в жизни ни даёться так просто как. хотелось бы.
Re: Узнать кодировку xml файла

От: .
Дата: 03.03.08 14:58
Оценка:

frёёm wrote:

> Оч. хочу класс который тупо читает любой поданный на вход xml файл в
> *java.lang.String*.
> Проблема в том что хотелось бы определять кодировку файла на лету, если
> она задана.
Файл содержит байты,а java.lang.String — символы. Путать нельзя.

> Наверняка кто-то, где-то уже что-то для этого написал ?
Даже если кто-то и писал, надеюсь уже переписал.

Posted via RSDN NNTP Server 2.1 beta
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re: Узнать кодировку xml файла

От: sss1024 http://microforms.mobile-mir.com/
Дата: 03.03.08 17:21
Оценка:

Здравствуйте, frёёm, Вы писали:

ёё>Добрый день.

ёё>Оч. хочу класс который тупо читает любой поданный на вход xml файл в java.lang.String.
ёё>Проблема в том что хотелось бы определять кодировку файла на лету, если она задана.

ёё>Наверняка кто-то, где-то уже что-то для этого написал ?

тоже сталкивался с вопросом чтения пролога
Это вобщем-то обычная задача но стандартных средств нет.

для чего может понадобится:
например хмл прочитать, поменять и потом сохранить в той же кодировке. Узнать кодировку можно только самому распарсив пролог. Неудобно.

Re[2]: Узнать кодировку xml файла

От: frёёm
Дата: 03.03.08 19:46
Оценка:

Вообщем в итоге да.

Думал ограничиться utf’ами и прочесть первые несколько симоволов до указания encoding.

А потом плюнул, отдал файл парсеру.

Вообще идея была, прочесть xml в память и по нему делать xslt преобразования.
Посмотрев стандартный трансформер увидал что он строит по xml’лю DOM.
Так что вопрос отпал сам собой, сейчас парсером получаю w3c DOM и по нему работаю трансформером.

Как узнать кодировку xml-файла

Author24 — интернет-сервис помощи студентам

Добрый день!
Имею файлы XML. Кодировка по умолчанию, явно не описана. Один из файлов оказался с кодировкой win 1251 (умные люди сказали, но всегда обращаться неудобно)- при загрузке дал ошибку. Как можно узнать его кодировку — на будущее? Располагаю средствами SQL и NotePad++.

94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:

Как указать кодировку XML документа?
Что нужно чтобы IE не ругался на русские буквы, загружая XML-документ?

Как узнать кодировку файла?
Народ возникла проблема в фаиле есть данные: but1=1 but2=1 Path1=../../../../1.exe

Как изменить кодировку XML-файла?
Добрый день! Подскажите, как изменить кодировку xml-файла Этот код работает правильно, но только.

Как узнать кодировку файла средствами php?
Как узнать кодировку файла средствами php? Добавлено через 1 час 57 минут В файле 1.txt.

6217 / 2465 / 725
Регистрация: 11.04.2015
Сообщений: 3,983
Записей в блоге: 43

Да скорей всего никак. Кодировка для того и указывается, чтобы можно было ее определить, а если она не указана, то тут только общие средства подойдут(метод «научного тыка» или может софт есть какой для текстовых файлов, можно его попробовать).

Регистрация: 15.04.2013
Сообщений: 23

А вот это посмотрите: http://www.sql.ru/forum/498506. -pogrammno
Люди как-то с помощью substr определяют.

Добавлено через 54 минуты
Мда. Оказалось настолько все просто . Открываем файл с помощью Notepad++. Нажимаем Кодировки.Если кодировка указана явно, то ее не покажут на вкладке. Если она не указана, то ее определят и обозначат кружочком! Прелесть!

6217 / 2465 / 725
Регистрация: 11.04.2015
Сообщений: 3,983
Записей в блоге: 43

ЦитатаСообщение от Darinara Посмотреть сообщение

А вот это посмотрите
В этом примере речь идет о документе, в котором кодировка указана и надо вытащить ее из документа.

И кстати: здесь на форуме запрещено постить ссылки на другие форумы

ЦитатаСообщение от Darinara Посмотреть сообщение

Открываем файл с помощью Notepad++. Нажимаем Кодировки.Если кодировка указана явно, то ее не покажут на вкладке. Если она не указана, то ее определят и обозначат кружочком!

Ну это как бы и есть

ЦитатаСообщение от diadiavova Посмотреть сообщение

Как проверить кодировку файла xml

Проверка XML на соответствие XSD (схеме XML данных) ENG ВХОД Контакты

На странице производится проверка XML данных на соответствие XSD (схеме XML данных) с возможностью редактирования данных.

Ввод XML данных можно произвести путем загрузки XML файла или скопировав текст из буфера обмена в окно редактора. Кодировка файла определяется на основе XML декларации, поэтому ее наличие обязательно.

В редакторе данные проверяются на соответствие XML формату и форматируются для удобства работы. При наличии ошибок редактор помечает соответствующие строки символом . Описание ошибки можно просмотреть установив курсор на этот символ.

  • если был загружен файл XSD, то будет произведена проверка в соответствии со схемой в этом файле
  • если файл не загружен, то система попытается автоматически определить схему на основе ключевых полей из XML данных.

Результаты проверки выводятся в виде сообщений в правом верхнем углу страницы. Строки с ошибками помечаются в окне редактора. После исправления ошибок в редакторе можно проверить измененные данные.

XML данные из редактора можно распечатать или сохранить в файл (если найдены ошибки, то они добавляются в текст в виде комментариев). Для некоторых схем документов имеется возможность XSL преобразования в формат HTML и/или PDF. Отправка в систему ЭДО доступна после настройки параметров для зарегистрированных пользователей.

Для суммирования значений элементов используется кнопка . При этом необходимо ввести путь к элементам (xpath) или выделить название элемента в редакторе для автоматического формирования пути.

Для настройки параметров редактора используется кнопка . Если после редактирования настроек нажать кнопку Сохранить , то настройки помеченные цветом будут сохранены для следующих сеансов работы.

  • jQuery: библиотека (JavaScript) ver.
  • Ace: редактор (JavaScript) (Ajax.org Cloud9 Editor) ver. 1.1.9
  • lxml: библиотека для обработки XML данных (Python) ver. 3.8.0

Как проверить кодировку файла xml

Покинул форум
Сообщений всего: 3
Дата рег-ции: Окт. 2009

Помог: 0 раз(а)

Есть файл xml вида:

Извиняюсь за бестолковость, но когда я начинаю читать файл — то мне сразу выводится вторая строчка. Как прочитать тип кодировки средствами php ?
Когда обрабатываю не зная кодировки — вылетает ошибка о неверном символе.
Использую стандартный парсер (xml_parser_create и т.д.)
Другие парсеры не подходят, т.к. формат файла не соответствует стандартам и не парсится.

(Отредактировано автором: 19 Октября, 2009 — 11:32:05)

Отправлено: 19 Октября, 2009 — 12:16:26

Здесь могла бы быть ваша реклама

Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006
Откуда: Israel

Помог: 3 раз(а)

Покажи пожалуйста как именно ты читаешь файл.
Кроме того
Цитата:

Starting from PHP 5, the input encoding is automatically detected, so that the encoding parameter specifies only the output encoding

Отправлено: 19 Октября, 2009 — 12:47:47

Покинул форум
Сообщений всего: 3
Дата рег-ции: Окт. 2009

Помог: 0 раз(а)

читаю через xml_parser_create, вставляя рекурсивно куски файла полученные через fread (file, 4096) и проверяя «вручную» к какому блоку они принадлежат. Структура файла нестандартная
Для каждой кодировки я вынужден делать конверсию (кроме умолчальной UTF-8).
Причем если пытаюсь считать «неправильную» кодировку — то скрипт вылетает с ошибкой.

Вопрос то не про xml, а про то как прочитать заголовок файла. Нагуглить ничего толкового не могу.
Приведенная функция помочь не должна т.к. xml_parser_set_option($parser, XML_OPTION_TARGET_ENCODING, ‘UTF-8’);

А мне нужно get 😉

(Отредактировано автором: 19 Октября, 2009 — 12:49:49)

Отправлено: 19 Октября, 2009 — 13:56:24

Здесь могла бы быть ваша реклама

Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006
Откуда: Israel

Помог: 3 раз(а)

Если честно, я не очень понимаю в чем проблема.
Прочитать первую строку файла можно стандартным ифункциями чтения fread, file_get_contents , но зачем парсеру передавать xml по кускам, когда он может его сам читать из файла, сам распознавать его кодировку и сам все делать — я не понимаю.

На всякий случай, для наглядности, привидите пожалуйста свой код и пример того, что получается и что должно получиться.

Отправлено: 20 Октября, 2009 — 07:47:54

Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007
Откуда: Симферополь

Помог: 98 раз(а)

прочитайте кусок файла и регуляркой выдерните encoding.

——
Список фильмов с описанием, блекджеком и. для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе

Отправлено: 20 Октября, 2009 — 09:05:11

Покинул форум
Сообщений всего: 3
Дата рег-ции: Окт. 2009

Помог: 0 раз(а)

Народ, а вы точно пробовали читать файл xml через fread?
Я же написал, что он почему то читается со второй строчки.
Это мой локальный пеолтергейст (сам кстати удивился) или как то специфически его читать надо?

Отправлено: 20 Октября, 2009 — 10:30:59

Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008
Откуда: Москва

Помог: 57 раз(а)

Bazila пишет:
Народ, а вы точно пробовали читать файл xml через fread?

Для fread не важно, xml, txt, mp3. Не может он читаться со второй строчки. Просто ты, наверное считываешь ее где-то отдельно от всего основного и теряешь.

Отправлено: 20 Октября, 2009 — 13:30:26

Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007
Откуда: Симферополь

Помог: 98 раз(а)

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *