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 の一般的なコマンドを調べる

ブログ    

推薦する

MySQLの基本的な共通コマンドの概要

目次MySQL の基本的な共通コマンド1. SQL文2. テーブルを作成する3. フィールドのプロパ...

ウェブフロントエンド開発の細部

1 選択タグは閉じられている必要があります <select></select>...

Linux システムに Zookeeper サービスをインストールする方法

1. /usr/local/services/zookeeper フォルダを作成します。 mkdir...

HTMLでは、全体的なスタイルとレイアウトを崩さずに、部分的に強制スクロールバーを使用できます。

まずはエフェクト画像を投稿します:全体的なスタイルとレイアウトが崩れないように、スクロール バーがロ...

支払いカウントダウンを実現し、ホームページに戻るためのjs

ホーム ページに戻るための支払いカウントダウン ケースの概要: シンプルな js 構文、getEle...

HTMLノードの追加と削除の簡単な例

<br />HTMLノードの追加と削除の簡単な例<input type="...

HTML要素のID属性とName属性の違い

今日、私は <a href="#13"></a> につい...

docker で zabbix_agent をデプロイする方法

zabbix_agent のデプロイメント:推奨事項: zabbix_agent は docker-...

Docker プライマリ ネットワーク ポート マッピング構成

ポートマッピングDocker コンテナを起動する前にポート マッピングを行わないと、コンテナ外部のネ...

Tomcat マルチレイヤーコンテナの設計に関する簡単な説明

目次コンテナ階層サーブレットの検索を要求するプロセス仕組みTomcat のコンテナは Servlet...

HTML で #include ファイルを使用する例

a.htmとb.htmの2つのファイルがあります。同じディレクトリ内のa.htmの内容は次のとおりで...

Dockerでランナーコンテナを構成する方法

1. ランナーコンテナを作成する mk@mk-pc:~/Desktop$ docker run -d...

MySQLクエリ文を書き換える3つの戦略

目次複雑なクエリとステップバイステップのクエリクエリステートメントを分割する共同クエリの分解問題のあ...

MySQL における識別子の大文字と小文字の区別の問題の詳細な分析

MySQL では、テーブル名の大文字と小文字の区別の問題が発生する可能性があります。実際、これはプラ...

HTMLの基本概念の詳細な説明

HTMLとは何ですか? HTML は Web ページを記述するために使用される言語です。 •HTML...