How to convert unicode string to ascii to make a nice string for a friendly url?
There is only a short list of characters that can be safely carried through in a path component of a URL.
unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~"
All the other characters will have to be either removed (if you're creating a "slug") or escaped.
Removal can be done with the regex /[^a-zA-Z0-9-._~]/
.
Escaping can be done with encodeURIComponent()
.
If you wish to achieve an equivalent of ICONV transliteration (that is, turning é
into e
and €
into EUR
), you'll have to do your own, although you can leverage existing solutions and perhaps transform a transliteration table to JS format.
精彩评论