URL reescrita - cartas internacionais

votos
0

Como devo formatar URLs com caracteres especiais / internacionais?

Atualmente eu tentar fazer URLs boa aparência, de modo que:

www.myhost.com/this é um teste, você sabe como?

é convertido em:

www.myhost.com/this_is_a_test_do_you_know_how

Sei que algumas cartas internacionais poderiam ser convertidos (U = ue, ae = ae, a = aa), alguns caracteres poderia ser removido. I geral eu tento fazer o URL olhar bom, mas é tão estúpido?

Mas o que eu faço com letras chinês, japonês, árabe que não tem nada a ver com o nosso formato ASCII ocidental?

Eu realmente não gosto da idéia de reescrever o URL com códigos hexadecimais, então agora eu só uso o meu ID exclusivo interno se a url contém muitos caracteres não convertível.

Publicado 16/10/2008 em 17:30
fonte usuário
Em outras línguas...                            


4 respostas

votos
1

Que linguagem você está usando? PHP inclui uma filter_var function () que parece fazer mais do que você quer. Veja http://us.php.net/manual/en/function.filter-var.php .

Em geral, o custo de fazer seqüências ASCII legíveis a partir da entrada seqüência arbitrária é provavelmente demasiado grande para valer a pena. Se o usuário lhe dá uma hanzi chinesa, o que você vai fazer? Procurá-lo em um dicionário e de saída o resultado em pinyin?

A melhor solução, mais geral é simplesmente para tirar a entrada, formate-o como UTF-8, então url-codificar o resultado. Isso fará com que o texto não-latino ilegível, mas não há nenhuma boa solução, em geral para as línguas de qualquer maneira. O idioma que você está usando quase certamente tem funções de biblioteca que podem fazer isso fácil.

Respondeu 16/10/2008 em 17:40
fonte usuário

votos
0

se você estiver usando .NET com não

Server.URLEncode( myURL );

mas se você quiser usar os caracteres escandinavo ou qualquer caractere que você quer, você só precisa configurar a regra em seu componente reescrever URL porque Dynamicweb CMS software usa os todos os caracteres disponíveis apenas substituir os espaços por sublinhados ( '_')

como este url:

http: //www.gynækologen.dk/Undersøgelser_og_behandlinger.aspx

você pode ver o æ no domínio, bem como o S no nome da página

Respondeu 16/10/2008 em 19:47
fonte usuário

votos
0

Ter um olhar para digamos, http://ja.wikipedia.org/ . Se você mouseover os links, eles aparecem na barra de status como caracteres japoneses. Não parece tão japonês na barra de localização quando você seguir o link, mas que, possivelmente, não pode ser ajudado. Não ter verificado, mas presumo que é tudo utf8 codificado hex-.

Respondeu 16/10/2008 em 18:49
fonte usuário

votos
0

Mas não Google aproveitar a URL? Se uma parte do texto de um determinado artigo é na URL motor de busca Google vai usar isso? Mas se não há realmente nenhuma maneira legal de lidar com as cartas não-ascii, então essas línguas é menor priorizada no "google-internet?"

Respondeu 16/10/2008 em 18:17
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more