5

私たちは現在I18Nプロジェクトに取り組んでいます。私は、URLに非アスキー文字を持つことの合併症は何か疑問に思っています。それがお勧めできない場合、この問題に対処する代替手段は何ですか? (Maxymの答えに応じて)URLにASCII以外の文字を使用することをお勧めしますか?

EDIT: サイトが特定の国に現地になるだろうと私は世界的な国民は、このサイトへのアクセスを心配する必要はありません。私はユーザビリティの観点から、それは本当に迷惑であると理解。これに関連する他の技術的問題は何ですか?

+0

さて、あなたは国際化サイト上で作業している場合、それはあなたがあなたのサイトをいくつかの言語に翻訳することを意味します...つまり、あなたは他の国の人々があなたのサイトをローカルでないものにしてくれることを期待しています:)もちろん、 、あなたの国のために特定の – Maxym

+0

非ASCIIを使用する場合、人々は標準的なキーボードで入力する方法は? – wenn32

+0

標準キーボードがそれを処理します。 – Broam

答えて

3

それはIDNAを使用して非ASCII /非ラテンのドメイン名を使用することが可能であるさらに、あなたは常にURLでパーセントエンコーディング(スペースのような%20)を使用することができRFC 3986。パーセンテージと組み合わせたUTF-8エンコーディングを推奨します:

データは、UTF-8 文字エンコーディングに従って、最初に オクテットとしてエンコードする必要があります。予約されていないセット の中の 文字に対応しないものだけがパーセント符号化されている必要があります。 (...) の例では、文字Aは を "A"と、文字 をラテン文字大文字の と表現すると "%C3%80"、 文字はカタカナレターA は「%E3%82%A2」と表される。

近代クライアント(Webブラウザ)は、パーセントエンコーディングとUnicodeの間で前後に変換するためにableをしているので、URLはASCIIとして転送されますが、ユーザーのためにきれいに見えます。

ウェブマスター/コンテンツエディターからのURL入力を簡単にするために、このエンコードを理解するウェブフレームワーク/ CMSを使用していることを確認してください。

2

私は「いいえ」と言います。理由はシンプルです。>あなたが世界中に広がっている人に頼るなら、あなたのURLを入力するのは大きな問題になるでしょう。私も、我々は言語を変更することはかなり面倒であり、ラテン語を入力するために使用されますので、キリルURLを作成することが可能であるが、誰がそれに成功していない、「キリル」の世界に住んで...

更新:
私は選択肢については言えませんが、時には一部の言語に非公式または正式な代用者があります。ドイツ語ではÖと書くことができますが、urlでは代わりにOEを見ることができます。あなたの国の人々がその執筆を思い出すことができ、他の "国"が害を及ぼさないようにすることもできます。

+0

@maxymもし彼がロシア人だけがサイトを見たいと思ったら? –

+0

@herrow:ロシア語では、翻字を使うことができます。この言葉の英単語の意味はありません。その意味は、ラテン文字で書かれたキリル文字です(時には数字も使われます)。多くの人がチャットでこれを使っています(読むのは恐ろしいですが、彼らはそれをするのを手伝ってはいけません) – Maxym

+0

ありがとうMaxym!私は世界的な公衆のことを心配していない、サイトは国にかなり地元になるだろう。 – rkg

0

URLに非ASCII文字を使用できますが、醜いです特別caractersは次のようにコード化されなければならないので: http://www.w3schools.com/tags/ref_urlencode.asp

+1

-1。現代のWebブラウザはこれを自動的に処理できます。 –

+0

@larsman:しかし、最近のWebブラウザの中には、特定の状況を除いて、非ラテン文字の表示を意図的に破るものがあります... –

1

はターゲットユーザーによります...例えばNürnberg.deはnuernberg.deを見て、ネイティブのドイツ語ユーザーに簡単にアクセスできるようにしています(ドイツ語のキーボードはデフォルトであり、4つの余分なキーシンボルすべてのドイツ語話者に)、そして目標I18Nの1つがエンドユーザに母国語の感触を提供することであることを忘れないでください。 MacとLinuxのユーザーは、Mac上でAlt + uをクリックすると、I18Nの入力を処理する文字でウムラウトが誘導されるように、もっとイニシアティブな方法があります。

私はちょうどURLに非ASCII文字 を持つの 合併症が何であるか疑問に思いました。

しかし、あなたはあなたの質問を築いた方法、あなたの質問は、より周りURI, rather then URLているようだ...あなたはURI内の非ASCII文字でURNを融合しようとしています。サーバー(for example: in case of Django based server, the URN can be parsed and handled using regex inside url.py)であなたのURNをどこでどのように解析するかを知っていれば、そこには問題はありません。あなたが念頭に置いておくべきことは、web2.0(Ajax javascriptベース)の進化ではすべてが主にutf -8、Javascript仕様ではutf-8エンコーディングが必要です。したがって、utf-8は一種の標準に進化しています。 utf-8エンコーディング仕様に固執すれば、URI解析とそれを回避する上での複雑さに直面することはほとんどありません。

などです。 URL http://de.wikipedia.org/wiki /Fürthまたはhttp://hi.wikipedia.org/wiki /जर्मनीを確認してください。アドレスバーに書き込むエンコーディングに関係なく、ブラウザはUTF-8に変換してサーバーに送信します。

注:UTF-8の横に、パーセントエンコーディングを使ってエンコードされている一部の記号が...それは次の場所にありますについての詳細を...がある

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

+1

SO構文がi18n URIを処理しないというのは残念です:) –

+0

LOL、very true;) –

+0

@PM:ありがとう!素晴らしい答え。 – rkg

関連する問題