Java URLが中国語文字化けした場合はどうすればよいですか?

angryTom
リリース: 2019-11-15 09:46:18
オリジナル
3423 人が閲覧しました

Java URLが中国語文字化けした場合はどうすればよいですか?

url 中国語の文字化け java

1. 文字列をトランスコードします: newString("xxxxx" .getBytes) ("iso-8859-1"),"utf-8")

このトランスコーディング方法には、指定された文字セットを使用してこの String をバイト シーケンスにエンコードし、結果を新しいバイト配列に変換し、指定された文字エンコーディングを使用して結果のバイト配列をデコードして、新しい String 文字列を構築します。この場合、漢字を 1 文字すべて解読できない状況が発生する可能性があります。このように、前の単語は正常に表示されますが、最後の単語が文字化けする場合があります。

したがって、この方法を使用することはお勧めできません。

2. パラメータを渡す前にトランスコードし、パラメータを受け取った後にトランスコードして戻します。

これを行うには 2 つの方法があります:

最初の方法:

パラメータを渡す前: java.net を使用します。 . URLEncoder.encode("xxxx","utf-8")、中国語を 16 進文字に変換します。

パラメータを受け取った後: java.net.URLDncoder.decode("xxxx", "utf-8") を使用して 16 進文字を中国語に変換します。

この方法で注意すべき点は、エンコード後に特殊文字が出現するため、その特殊文字を対応する16進数に置き換える必要があります。 URL パスのパラメータとして特殊文字を渡すと、特殊文字も文字化けしてしまうためです。

2 番目のタイプ:

パラメータを渡す前: encodeURI("xxxx")。

パラメータを受け取った後: java.net.URLDncoder.decode("xxxx", "utf-8") を使用して 16 進文字を中国語に変換します。

このメソッドで注意する必要があるのは、encodeURI を使用してトランスコードした後、特殊文字が表示されることです。このとき、特殊文字をトランスコードする必要があるため、encodeURI を 2 回使用します。

encodeURI(encodeURI("xxxx"))。

これら 2 つのトランスコーディング方法は非常に便利なので、皆さんも使用することをお勧めします。

具体的な使用法:

1. クライアント:

url=encodeURI(url);
ログイン後にコピー

サーバー:

String linename = new String(request.getParameter(“name”).getBytes(“ISO-8859-1”),“UTF-8”);
ログイン後にコピー

2. クライアント:

url=encodeURI(encodeURI(url)); //用了2次encodeURI
ログイン後にコピー

サーバー:

String linename = request.getParameter(name);
//java : 字符解码
linename = java.net.URLDecoder.decode(linename , “UTF-8”);
ログイン後にコピー

php 中国語の Web サイト、無料の

Java 入門チュートリアル が多数あり、オンラインで学習することを歓迎します。

以上がJava URLが中国語文字化けした場合はどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート