Когда веб-разработчику Rails нужно начать беспокоиться о кодировке символов? - PullRequest
2 голосов
/ 26 апреля 2011

Я веб-разработчик, в основном работающий на Ruby (и Rails) и C #.

В настоящее время я читаю "Язык программирования Ruby", один из которых был написан Matz, а рисунки "_Why theповезло ", чтобы отточить мои знания о том, как на самом деле работает Ruby.

В главе о строках много говорится о кодировании, многобайтовых символах и т. д., и я, похоже, помню, как Джоэл Спольски писал в блоге о том, как каждый разработчик должен знать xо кодировании.Но в какой момент вы действительно начинаете видеть эффекты этого?

Например, на первоначальной скринкасте Rails не было 20-минутного введения по кодированию, однако некоторые разработчики говорят, что это критически важные знания.

Так сколько вам нужно знать и когда?

1 Ответ

1 голос
/ 26 апреля 2011

В свое время нам было все равно.Все было текстовым.Затем пришли Microsoft с их расширениями ASCII, и следующее, что мы знали, все пошло на хер.:-) Эй, ты, MICROSOFT, выйди из моего права!

К сожалению, в современном мире Интернета и Интернета важно учитывать это с первой строки созданного кода или текстового содержимого.

Когда ваш сайт генерирует выходные данные, у вас есть преимущество и вы можете убедиться, что все ваши исходные тексты и шаблоны используют кодировку UTF-8.

Если вы принимаете контент других людей с помощью синтаксического анализа или очистки, тоВаша задача становится намного сложнее, потому что веб-серверы любят лгать о том, что они вам посылают, HTML-страницы любят лгать, даже, и трудно поверить, что XML-страницы будут лгать, хотя и не должны.Из-за этого ваш код должен быть очень защитным и быть готовым к многобайтовому кодированию, когда вы чувствуете символы в «чужом» наборе кодов.Возможно, вам придется перепрыгнуть через несколько обручей, чтобы преобразовать обратно в выбранную вами кодировку UTF-8, которая является моей рекомендацией, или ISO1859-1, или CP1252, или что бы то ни было.Убедитесь, что вы используете rescue блоки, и протестируйте, протестируйте, протестируйте, если вы хотите сделать вашу систему надежной и пуленепробиваемой.

Это моя рекомендация, основанная на некоторых с трудом завоеванных знаниях, пишущих много скребков вPerl и Ruby.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...