1

私たちのサイトでは、クエリ文字列でカテゴリを(ロシア語で)使用します。IEで動作しないCyrrilicのクエリ文字列を含むURL(ただし、Firefoxで動作します)

例えば:http://www.odinklik.ru/kategoriya.aspx?cat=люди

あなたはIE8でこのリンクを貼り付けた場合、それは猫に翻訳さ= ????それは動作しません 私はそれをFireFoxに貼り付けると、動作します。

ホームページから同じURLにアクセスできます。ホームページからIE8で同じURLをクリックすると、新しいタブで開いていない限り、それは元に戻りますか? ???)。

私は、ASP.NET 3.5(C#のに)

答えて

1

を使用していますが、バックキリル文字からUnicodeへの最初のページとデコードのエンコードをしようとしましたか? 少し頭痛がありますが、うまくいくでしょう。

+0

まず、お手伝いをしていただきありがとうございます。たぶん私はそれをきれいに説明していないかもしれない。問題は、あるページから別のページへの問題ではありません。たとえば、ホームページのリンクをクリックすると、Internet Explorerでも正常に動作します。新しいブラウザウィンドウで直接SAMEリンクをコピー/ペーストしたり、ホームページを開いたりすると、間違ったところで「新しいタブで開く」というメッセージが表示されます。この違いの原因は何ですか? – Pleun

+0

解決策を見つけましたか? ? –

1

カテゴリ名は、ブラウザに依存するのではなく、クエリ文字列に追加する前にURLエンコードする必要があります。

メソッドHttpServerUtility.UrlEncodeは、このエンコードを処理できる必要があります。

HttpServerUtility.UrlEncodeはあなたに正しい結果を与えるべきであるhttp://www.odinklik.ru/kategoriya.aspx?cat=%D0%BB%D1%8E%D0%B4%D0%B8のリンクを与えるべきです。

は(、 %D0%BBлに対応していることに注意してください %D1%8E иから %D0%B4 %D0%B8 дへと、 юへ。キリル文字のUnicode値が U+ffを超えているとして、あなたはそれぞれの文字のための2つのURLエンコードバイトが必要になります。)

関連する問題