Проблемы с Юникодом с acts_as_taggable_on_steroids - PullRequest
2 голосов
/ 11 октября 2008

Я реализую блог с тегами с некоторыми французскими символами. Мой вопрос касается того, как работать с пробелами и символами Unicode (utf-8) в URL.

допустим, у меня есть тег: ohlàlà! и у меня есть следующий код в моем облаке тегов:

<%= link_to h(tag.name.capitalize), { :controller => :blog, :action => :tag, :id => h(tag.name) }, :class => css_class %>

Как мне решить эту проблему?

1 Ответ

1 голос
/ 11 октября 2008

См. ToASCII и ToUnicode в этой статье Википедии . Надеюсь, в статье достаточно указателей, чтобы решить ваш вопрос.

Редактировать: Хотя он говорит Python , Unicode и постоянные ссылки может дать представление о том, как кодировать решение вашего вопроса. Подведем итог:

По сути, URL-адрес Unicode кодируется в UTF8, а каждый байт строки в кодировке UTF8 кодируется с использованием процентного кодирования. Браузер, по-видимому, распознал эту конкретную схему кодирования (которая нигде не документирована), и отображает приятные интернационализированные URL-адреса для пользователя.

Извините, я понятия не имею, если Rails имеет готовую функцию для кодирования URL таким образом.

...