/ / Як видалити символ BOM з мого файлу xml [дублікат] - xml, xslt, unicode, byte-order-mark

Як видалити символ BOM з мого файлу xml [duplicate] - xml, xslt, unicode, bait-order-mark

Я використовую xsl для контролю виводу мого XML-файлу, але додається символ BOM.

Відповіді:

165 за відповідь № 1
# vim file.xml
:set nobomb
:wq

18 за відповідь № 2

The Файл детектор BOM (безкоштовно для Windows) дозволяє легко зняти позначку порядку байтів.


2 для відповіді № 3

просто потрібно додати це у свій файл xslt:

<xsl:output method="text"
encoding="ASCII"/>

1 для відповіді № 4

Просто зніміть перші два байти за допомогою будь-якого шестигранного редактора.


1 для відповіді № 5

Видалити символ BOM з рядка за допомогою XSLT досить просто:

<xsl:value-of select="translate(StringWithBOM,"","")"/>


0 для відповіді № 6

У мене було враження, що XML заохочуєтьсяповинні бути записані в Unicode, в деякому кодуванні Unicode, а також, що певні кодування Unicode вказані таким чином, щоб вони містили початковий знак порядку байти. Без цього байтового порядку ваш файл більше не правильно кодується в кодуванні Unicode і тому більше не виправляє XML. Процесорам XML рекомендується бути непростими, негайно відмовитися від найменшої помилки (наприклад, неправильного кодування Unicode). Які види процесорів XML ви хочете зламати?

Очевидно, знімаючи позначку порядку байту з аutf-8 закодований документ робить цей документ, здається, кодованим ASCII (не Unicode), а деякі текстові процесори можуть використовувати лише кодовані документи ASCII. Це з чим ви працюєте?


0 для відповіді № 7

Яке вихідне кодування має використовувати ваш XSL? Яке кодування є вхідним документом? Звідки береться вхід і де він був збережений / завантажений / завантажений тим часом?

XML і XSL повинні за замовчуванням до використання utf-8, якщо нічого іншого не вказано. Але очевидно, що тут щось не так.

Одне, що може статися, це те, що XML обслуговується веб-сервером, який за замовчуванням встановлений для обслуговування в ISO-8859-1, досить хороший за замовчуванням ... pre-Unicode.

Трохи поза темою, але Дуже повчальна стаття Джоела про кодування тексту було для мене очейним. Там багато людей, які інакше дуже розумні щодо програмування, але наполегливі думати там "таке поняття, як" звичайний текст "або називаючи їх текст" ASCII "або" ANSI ". Це проблема у вас дійсно потрібно впоратися з тим, якщо ви ще цього не зробили.