5

Wir arbeiten gerade an einem I18N-Projekt. Ich frage mich, was die Komplikationen der nicht-ASCII-Zeichen in der URL sind. Wenn es nicht ratsam ist, was sind die Alternativen, um mit diesem Problem umzugehen?Ist es ratsam, nicht-ASCII-Zeichen in der URL zu haben?

EDIT (als Antwort auf Maxym Antwort): Die Website zu bestimmten Land sein wird lokale und ich brauche nicht über die Welt breiten Publikum Zugang zu dieser Website zu kümmern. Ich verstehe, dass aus Sicht der Benutzerfreundlichkeit, Es ist wirklich ärgerlich. Welches technische Problem ist damit verbunden?

+0

Nun, wenn Sie auf i18n Ort arbeiten, dann bedeutet das, dass Sie Ihre Site in wenige Sprachen übersetzen ... Das heißt, dass Sie Leute aus anderen Ländern erwarten, was Ihre Site nicht so lokal macht :) Natürlich kann ich mich irren, wenn Ihre Leute in Ihrem Land nur wenige Sprachen benutzen , spezifisch für Ihr Land nur – Maxym

+0

wenn Sie ein nicht ASCII verwenden, wie Leute mit einer Standardtastatur eintippen ??? – wenn32

+0

Ihre Standardtastatur behandelt es. – Broam

Antwort

3

Es ist möglich, nicht-ASCII/nicht-lateinische Domainnamen IDNA mit verwenden Ferner Sie immer Prozent-Codierung (wie %20 für Raum) in URLs verwenden können RFC 3986 empfiehlt UTF-8-Kodierung in Kombination mit Prozenten:

die Daten sollten zuerst als Oktetts gemäß der UTF-8 Zeichencodierung codiert werden; dann sollten nur die Oktette, die nicht Zeichen im nicht reservierten Satz entsprechen, percent-encoded sein. (...) Für beispielsweise das Zeichen A würde als „A“ dargestellt, das Zeichen Lateinischer Großbuchstabe A mit Gravis würde als „% C3% 80“ dargestellt werden, und das Zeichen KATAKANA LETTER A würde als "% E3% 82% A2" dargestellt werden.

Moderne Clients (Webbrowser) sind able hin und her zwischen Prozent Codierung und Unicode zu transformieren, so wird die URL als ASCII übertragen, sieht aber für den Benutzer recht.

Stellen Sie sicher, dass Sie ein Web-Framework/CMS verwenden, das diese Kodierung ebenfalls versteht, um die URL-Eingabe von Webmastern/Inhalts-Editoren zu vereinfachen.

2

Ich würde Nein sagen. Der Grund ist einfach -> wenn Sie sich auf die weltweite Öffentlichkeit verlassen, dann wäre es ein großes Problem für Leute, Ihre URL einzugeben. Ich in „kyrillisch“ Welt leben, ist es möglich, kyrillische Urls zu schaffen, aber niemand damit Erfolg haben, denn auch wir ziemlich faul sind, die Sprache zu ändern und gewöhnen Latin to type ...

Update:
Ich kann nicht über Alternativen sagen, aber manchmal einige Sprachen haben informellen oder formellen Brief ersetzen, z auf Deutsch kannst du Ö schreiben, aber in URL kannst du stattdessen OE sehen. Auch können Sie englische Wörter oder Wörter mit ähnlichen Tönen betrachten (also Leute von Ihrem Land können sich an dieses Schreiben erinnern, und andere "Länder" beschädigen nicht

+0

@maxym was ist, wenn er nur Russen will, um die Seite zu sehen? –

+0

@herrow: auf Russisch kann man translitaration verwenden ... naja, keine Ahnung, wie man dieses Wort in Englisch buchstabiert, seine Bedeutung: kyrillische Wörter, geschrieben mit lateinischen Buchstaben (oder manchmal werden gerade Zahlen benutzt). Viele Leute benutzen es hier nur im Chat (schrecklich zu lesen, aber sie können nicht helfen, das zu tun) – Maxym

+0

Danke Maxym! Ich mache mir keine Sorgen um die weltweite Öffentlichkeit, die Seite wird ziemlich lokal in einem Land sein. – rkg

0

Sie können nicht-ASCII-Zeichen in einer URL verwenden, aber es ist hässlich weil spécial caracters muss wie folgt codiert werden:.. http://www.w3schools.com/tags/ref_urlencode.asp

+1

-1. Moderne Webbrowser können damit automatisch umgehen. –

+0

@larsman: Aber einige moderne Web-Browser brechen absichtlich die Anzeige von nicht-lateinischen Zeichen außer in bestimmten Situationen, um Phishing-Angriffe zu bekämpfen ... –

1

hängt von den Zielbenutzern ab ... zum Beispiel schaut Nürnberg.de auch auf nuernberg.de, um es für deutsche Benutzer leicht zugänglich zu machen (da deutsche Tastatur standardmäßig ist und alle 4 zusätzlichen Schlüsselsymbole (ääüß) verfügbar hat an alle Deutschsprachigen), und vergessen Sie nicht, dass es eines der Ziele von I18N ist, dem Endbenutzer ein Gefühl der Muttersprache zu vermitteln. Mac- und Linux-Benutzer haben sogar noch mehr initiative Wege, wie zum Beispiel das Klicken auf Alt + u auf Mac, um Umlaute in Zeichen zu induzieren, um mit I18N-Eingaben umzugehen.

ich mich nur gefragt wurde, was sind die von Komplikationen in der URL der Nicht-ASCII-Zeichen hat.

aber die Art und Weise Sie Ihre Frage gelegt, so scheint es, dass Ihre Frage mehr ist um URI, rather then URL ... und Sie versuchen, URN zu verschmelzen mit Nicht-ASCII-Zeichen in URI. Es gibt keine Komplikationen darin, wenn Sie wissen, wo und wie Sie Ihre URN am Server analysieren (for example: in case of Django based server, the URN can be parsed and handled using regex inside url.py) .. alles, was Sie beachten müssen, ist, dass mit Web 2.0 (Ajax Javascript-basierte Evolution) alles hauptsächlich in UTF läuft -8, da die Javascript-Spezifikation UTF-8-Kodierung verlangt. Und so hat sich utf-8 zu einer Art Standard entwickelt. Bleiben Sie mit den utf-8-Kodierungsspezifikationen und Sie werden kaum Komplikationen bei der URI-Analyse und der damit verbundenen Umgehung haben.

zum Beispiel. Überprüfen Sie die URI http://de.wikipedia.org/wiki/Fürth oder http://hi.wikipedia.org/wiki/जज्मनी .. unabhängig von der Codierung, die Sie in der Adressleiste schreiben, übersetzt der Browser es in UTF-8 und sendet es an den Server.

HINWEIS: neben UTF-8, gibt es einige Symbole, die Prozentsatz-Codierung codiert werden .. mehr hier ...

befinden können

http://en.wikipedia.org/wiki/Percent-encoding

+1

Es ist eine Schande, dass die SO-Syntax i18n URIs nicht behandelt :) –

+0

LOL, sehr wahr;) –

+0

@ PM: Danke! Gute Antwort. – rkg

Verwandte Themen