HTML ハイパーリンク内の中国語文字化けの分析と解決

HTML ハイパーリンク内の中国語文字化けの分析と解決
Vm 内のハイパーリンク URL は、Get 要求のパラメータとして中国語と連結する必要があります。直接スプライスすると、バックグラウンド アクションに渡されるパラメーター オブジェクトは取得時に文字化けするため、URL にスプライスする前にエンコードする必要があります。
解決策は、エンコードされた中国語パラメータを保存するために Action にメンバー変数を追加することです。 vm ページがレンダリングされたら、変数値を取り出してハイパーリンクを接合します。

ここで発生する問題は、java.net.URLEncoder の encode() メソッドを呼び出すときに、文字セット パラメータが明示的に指定されていない場合、URLEncoder はデフォルトの文字セットを使用することです。このデフォルトの文字セットでは、Eclipse で main() メソッドを実行した場合と Tomcat で Web アプリケーションを実行した場合に異なる結果が生成され、エンコード結果に影響します。

コードをコピー
コードは次のとおりです。

/**
* 文字列を <code>x-www-form-urlencoded</code> に変換します
* 形式。このメソッドはプラットフォームのデフォルトのエンコーディングを使用します
* をエンコード方式として使用して、安全でない文字のバイトを取得します。
*
* @param s 翻訳する <code>文字列</code>。
* @deprecated 結果の文字列はプラットフォームによって異なる場合があります
* デフォルトのエンコーディング。代わりにencode(String,String)を使用してください。
* エンコーディングを指定する方法。
* 翻訳された <code>String</code> を返します。
*/
@非推奨
パブリック静的文字列エンコード(文字列s) {
文字列 str = null;
試す {
str = encode(s, dfltEncName);
} キャッチ(UnsupportedEncodingException e) {
// システムは常にプラットフォームのデフォルトを持つ必要があります
}
str を返します。
}

メソッドのコメントには、encode(String) メソッドがプラットフォームの文字セットに依存しているため、推奨されないとも記載されています。

<<:  理論の普及——ユーザーエクスペリエンス

>>:  VMware ESXi CLI の一般的なコマンドを調べる

推薦する

HTML テーブルタグチュートリアル (21): 行の境界線の色属性 BORDERCOLOR

テーブルを美しくするために、行ごとに異なる境界線の色を設定できます。基本的な構文<TR 境界線...

docker を使用して Linux 環境に Springboot パッケージをデプロイするチュートリアル

springboot には tomcat サーバーが組み込まれているため、jar パッケージにパッケ...

Alibaba Cloud サーバーの購入とインストール方法

1. サーバーを購入するこの例では、購入したサーバーはAlibaba Cloudです。大学生はAli...

HTMLにスクリプトを追加する2つの方法と注意点

HTML に <script> スクリプトを追加する方法: 1. HTMLにJavaSc...

MySQL クエリのパケットが大きすぎる問題と解決策

問題の説明:エラーメッセージ:原因: com.mysql.jdbc.PacketTooBigExce...

CSS3でよく使われるスタイルの詳しい解説[基本的なテキストとフォントのスタイル]

概要: Web ページをより美しく見せるために、ここでは CSS3 でよく使用されるスタイルをいくつ...

ブラウザの互換モードでボタン内のテキストが垂直方向に中央揃えにならない問題について簡単に説明します。

XML/HTML コードコンテンツをクリップボードにコピー<ボタンスタイル= "カ...

Docker データボリュームコンテナの作成と使用状況分析

データ ボリューム コンテナーは、データ ボリュームをマウントするために特別に使用されるコンテナーで...

Vue は、デスクトップから Web ページにファイルをドラッグするためのサンプル コードを実装します (画像/オーディオ/ビデオを表示できます)

効果使用する場合は、コードとスタイルを自分で最適化してください。画像を表示しない/ビデオとオーディオ...

MySQL の悲観的ロックと楽観的ロックの理解と応用分析

この記事では、例を使用して MySQL の悲観的ロックと楽観的ロックについて説明します。ご参考までに...

CSS3のbox-shadowプロパティの使い方の詳細な例

CSS には多くの属性があります。特に複数の値を設定する必要がある属性は、長期間使用しないと忘れられ...

0.1秒の価値!フロントエンドのウェブページの高速化の問題について簡単に説明します

私が現在の仕事の面接を受けたとき、リーダーが真剣にこう言っていたのを覚えています。「今の世の中はイン...

HTML で 2 列レイアウトを実装する方法の例 (左側は固定幅、右側は適応幅)

HTMLは2列レイアウトを実装し、左側は固定幅、右側は適応幅です。実装1: <スタイル>...

MySQL クエリ キャッシュのグラフィカルな説明

目次1. 原則の概要クエリキャッシュシステム変数1. クエリキャッシュを持つ2. クエリキャッシュ制...

Javascript イベントキャプチャとバブリングメソッドの詳細な説明

目次1. イベント処理モデル1. イベントバブリング(1)3つのdiv要素にイベントをバインドする(...