2010-01-08 7 views
2

Как преобразовать строку unicode в ascii, чтобы создать приятную строку для дружественного URL-адреса?javascript - как преобразовать строку unicode в ascii

+1

Это должно быть дубликат – hop

+4

http://stackoverflow.com/questions/626792/converting-uto-u-in-javascript http://stackoverflow.com/questions/286921/javascript-equivalent-of-xpaths -translate – hop

+0

и google для «транслитерации» – hop

ответ

9

Существует только short list of characters, которые можно безопасно переносить в компоненте пути URL.

unreserved = ALPHA/DIGIT/"-"/"."/"_"/"~" 

Все остальные символы должны быть либо удалены (если вы создаете «слизняка») или убежали.

Снятие можно выполнить с помощью регулярного выражения /[^a-zA-Z0-9-._~]/.

Экранирование может быть выполнено с помощью encodeURIComponent().

Если вы хотите достичь эквивалент Iconv транслитерации (то есть превращение é в e и в EUR), вы должны сделать свой собственный, хотя вы можете leverage existing solutions и, возможно, превратить transliteration table в формат JS.

+0

Работал для меня! Легко по сравнению с другими методами. – Lodewijk

Смежные вопросы