Unicode-Zeichen in URLs
Im Jahr 2010, würden Sie dienen URLs mit UTF-8-Zeichen in einem großen web-portal?
Unicode-Zeichen, die verboten sind nach den RFC für URLs (siehe hier). Werden, müssten Sie Prozent-codiert werden standards konform.
Meinem wichtigsten Punkt, obwohl, wird dazu dienen, den nicht-codierten Zeichen für den einzigen Zweck, gut aussehende URLs, also Prozent-Kodierung ist, aus.
Allen gängigen Browsern zu sein scheinen, analysieren diese URLs in Ordnung, egal was der RFC sagt. Mein allgemeiner Eindruck ist der, dass es wird sehr wackelig, beim verlassen der Domäne von web-Browser:
- URLs immer kopieren+einfügen in text-Dateien, E-Mails, auch Web-Seiten mit einer anderen Codierung
- HTTP-Client-Bibliotheken
- Exotische Browser, RSS-Reader
Ist mein Eindruck richtig, dass Problem ist, hier zu erwarten, und so ist es nicht eine praktische Lösung (noch), wenn Sie dienen, ein nicht-technisches Publikum, und es ist wichtig, dass alle Ihre links funktionieren ordnungsgemäß, auch wenn zitiert und weitergegeben werden?
Gibt es einige Magische Art und Weise zu dienen, gut aussehende URLs in HTML -
http://www.example.com/düsseldorf?neighbourhood=Lörick
werden können, copy+eingefügt mit den Sonderzeichen intakt, funktionieren aber korrekt, wenn Sie wieder bei älteren Kunden?
InformationsquelleAutor der Frage Pekka 웃 | 2010-04-30
Du musst angemeldet sein, um einen Kommentar abzugeben.
Prozent-Codierung. Moderne Browser kümmern display & paste-Probleme und machen es lesbar sind. E. g. http://ko.wikipedia.org/wiki/위키백과:대문
Edit: beim kopieren solch einer url in Firefox die Zwischenablage wird die Prozent-kodierter form (die in der Regel eine gute Sache), aber wenn Sie nur einen Teil, es bleibt unverschlüsselt.
InformationsquelleAutor der Antwort Tgr
Was Tgr sagte. Hintergrund:
Das ist kein URI. Aber es ist eine IRI.
Können Sie nicht zählen ein IRI in einem HTML4-Dokument; den Typ von Attributen, wie
href
ist definiert als URI und nicht IRI. Manche Browser behandeln einer IRI hier sowieso, aber es ist nicht wirklich eine gute Idee.Codieren, ein IRI in einen URI, der den Pfad und query-Teile, UTF-8-kodiert dann die Prozent-Kodierung von nicht-ASCII-bytes:
Wenn nicht-ASCII-Zeichen im Hostnamen-Teil der IRI, zB.
http://例え.テスト/
Sie werden codiert mit Punycode statt.Jetzt haben Sie eine URI. Es ist eine hässliche URI. Aber den meisten Browsern verstecken, die für Sie: kopieren Sie und fügen ihn in die Adressleiste ein, oder Folgen einem link, und Sie werden sehen, es angezeigt, mit der ursprünglichen Unicode-Zeichen. Wikipedia wurden mit diesem seit Jahren, zB.:
Dem einen browser, deren Verhalten unberechenbar ist und nicht immer zeigt das ziemlich IRI-version ist...
...naja, Sie wissen schon.
InformationsquelleAutor der Antwort bobince
Je nach URL-Schema können Sie die UTF-8-codierten Teil als "nicht wichtig". Zum Beispiel, wenn Sie sich bei Stack Overflow URLs, Sie sind von der folgenden form:
Jedoch, die server nicht eigentlich egal, ob Sie die Rolle bekommen, nachdem der Bezeichner falsch, so funktioniert das auch:
Also, wenn Sie hatte ein layout wie diese, dann könnte man potentiell die Verwendung von UTF-8 in der Teil nach dem Bezeichner, und es wäre nicht wirklich wichtig, wenn es verzerrt. Natürlich ist dies wahrscheinlich nur in etwas spezialisiert Umstände...
InformationsquelleAutor der Antwort Dean Harding
Nicht sicher, ob es eine gute Idee, aber wie bereits erwähnt in den anderen Kommentaren und wie interpretiere ich es, viele Unicode-Zeichen gelten in HTML5 URLs.
E. g.,
href
docs sagen http://www.w3.org/TR/html5/links.html#attr-hyperlink-href:Dann die definition von "gültige URL" Punkte zu http://url.spec.whatwg.org/ definiert, die URL-code Punkte:
Den Begriff "URL-code Punkte" ist dann in ein paar Teile des parsing-Algorithmus, z.B. für die relativen Pfad Stand:
Auch der validator http://validator.w3.org/ Pässe für URLs wie
"你好"
- und nicht-pass für URLs mit Sonderzeichen wie Leerzeichen"a b"
InformationsquelleAutor der Antwort Ciro Santilli 新疆改造中心 六四事件 法轮功
Als alle diese Kommentare wahr sind, sollten Sie beachten, dass, soweit ICANN genehmigt arabischen (Persischen) und dem chinesischen Schriftzeichen für die Registrierung als Domain-Name, die alle die browser-Unternehmen (Microsoft, Mozilla, Apple, etc.) die Unterstützung von Unicode in URLs ohne Codierung, und diese sollten gesucht und gefunden werden durch Google, etc.
Damit dieses Problem behoben wird ASAP.
InformationsquelleAutor der Antwort Nasser Hadjloo
Prozent-codierte form. Einige (vor allem alten) Rechner mit Windows XP zum Beispiel die Unicode nicht unterstützen, sondern ISO-Kodierungen. Das ist der Grund, Prozent-codierte URLs erfunden wurden. Auch, wenn Sie geben Sie eine URL, die auf Papier gedruckt, um einen Benutzer, mit Zeichen, die nicht einfach eingegeben, dass Benutzer kann eine harte Zeit, die Sie eingeben (oder einfach ignorieren). Prozent-codierte form kann auch verwendet werden, in vielen der ältesten Maschinen, die es je gab (obwohl Sie nicht unterstützen internet natürlich).
Es ist ein Nachteil, obwohl, wie Prozent-codierten Zeichen länger sind als die Originale, so womöglich wirklich langen URLs. Aber nur versuchen, es zu ignorieren, oder verwenden Sie einen URL shortener (ich würde empfehlen, goo.gl in diesem Fall, was macht eine 13-Zeichen lange URL). Auch, wenn Sie nicht wollen, um sich für ein Google-Konto, versuchen bit.ly (bit.ly macht eine etwas längere URLs, mit der Länge von 14 Zeichen).
InformationsquelleAutor der Antwort Έρικ Κωνσταντόπουλος
Für mich ist dies der richtige Weg ist, Dies funktionierte einfach:
Funktionierte, und jetzt sind die links richtig angezeigt werden:
http://newspaper.annahar.com/article/121638-معرض--جوزف-حرب-في-غاليري-جانين-ربيز-لوحاته-الجدية-تبحث-وتكتشف-وتفرض-الاحترام
Link gefunden auf:
http://www.galeriejaninerubeiz.com/newsite/news
InformationsquelleAutor der Antwort Peter Manoukian