Как отключить экранирование символов UTF (пунктуация) при создании XML с использованием по умолчанию to_xml с Rails? - PullRequest
1 голос
/ 13 января 2012

Учитывая столбец моделей рельсов, который содержит «Что-то и что-то еще» при выводе to_xml Рельсы будут выходить из Амперсанда так:

<MyElement>Something &amp; Something Else</MyElement>

Наше клиентское программное обеспечение полностью поддерживает UTF, и было бы лучше, если бы мы могли просто оставить содержимое столбца необработанным в нашем выводе XML.

Существовало старое решение, которое работало, устанавливая $ KCODE = "UTF8" в файле среды, но этот прием больше не работал и всегда был решением "Все или ничего".

Есть какие-нибудь рекомендации, как это отключить? на индивидуальной основе?

Ответы [ 2 ]

3 голосов
/ 13 января 2012

Неважно, поддерживает ли клиентское программное обеспечение UTF-8.Амперсанд нельзя использовать без экранирования в XML.Если предполагается, что программное обеспечение также поддерживает XML, то любое содержимое, содержащее амперсанды, не может храниться в «сыром» виде.

0 голосов
/ 13 января 2012

Это не имеет ничего общего с Unicode (или "UTF").Амперсанды в XML должны быть экранированы, иначе это не XML, и никакое программное обеспечение XML не примет его.Если вы говорите, что хотите отключить экранирование, то вы говорите, что не хотите, чтобы вывод был XML.

...