Ruby on Rails и utf-16

У меня есть сценарий перевода, который позволяет переводчикам отправлять переводы на арабский, но по какой-то причине Ruby не любит кодировку. Есть ли способ закодировать отправленный текст как utf-16?


person dennismonsewicz    schedule 05.11.2010    source источник


Ответы (1)


Как отправляются переводы? Веб-браузер никогда не отправит данные формы как UTF-16, даже если форма, сгенерировавшая отправку, была на странице в кодировке UTF-16. Как правило, использовать UTF-16 в Интернете - плохая идея; поскольку кодировка несовместима с ASCII, работать с ней сложно, и есть ошибки сервера и клиента, которых следует остерегаться. Вместо этого всегда используйте UTF-8.

Я предполагаю, что UTF-16 в загруженном файле возможен. В этом случае я бы понюхал первые два байта для спецификации UTF-16LE / BE и, если есть, перекодируйте файл в UTF-8, прежде чем выполнять какие-либо дальнейшие действия.

person bobince    schedule 05.11.2010
comment
они отправляются через ajax. проблема возникает, если элементы html отправляются вместе с переводом. Я разрешаю теги <b>, <i>, <a> вместе с отправкой - person dennismonsewicz; 06.11.2010
comment
Тогда это не похоже на то, что связано с UTF-16. XMLHttpRequests отправляются в UTF-8. Какое тело запроса вы отправляете и в чем заключается ошибка? - person bobince; 06.11.2010