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

推薦する

Robots.txtの詳細な紹介

robots.txt の基本的な紹介Robots.txt はプレーンテキスト ファイルであり、Web...

MySQLカバーインデックスの詳しい説明

コンセプトインデックスにクエリ要件を満たすすべてのデータが含まれている場合、それはカバーリング イン...

2 つの Linux サーバー間の自動ファイル同期

サーバーB(172.17.166.11)の電源がオンまたは再起動されると、サーバーA(172.17....

Dockerコンテナとローカルマシン間でファイルを転送する方法

ホストとコンテナ間でファイルを転送するには、コンテナの完全な ID が必要です。取得方法は以下の通り...

JavaScript 配列の重複排除とフラット化関数の紹介

目次1. 配列の平坦化(配列の次元削減とも呼ばれる)方法1: 削減メソッドを使用する方法2: スタッ...

HTML面接の質問の要約

1. doctypeの役割、厳密モードと混合モードの違い、そしてその重要性1. 構文形式: <...

CSS エラスティック ボックス flex-grow、flex-shrink、flex-basis の詳細な説明

3 つの属性 flex-grow、flex-shrink、flex-basis の機能は次のとおりで...

MySQL PXC は IST 送信のみで新しいノードを構築します (推奨)

需要シナリオ: 既存の PXC 環境には大量のデータがあります。新しく購入したサーバーをこのクラスタ...

Vue コンポーネント ライブラリ ElementUI はテーブル読み込みツリー データのチュートリアルを実装します

ElementUIは、参考のためにテーブルツリーリストの読み込みチュートリアルを実装しています。具体...

Linux での MySQL のアンインストールとインストールのグラフィック チュートリアル

ブログを書くのは初めてです。開発に携わって2年になります。仕事の後に何か有意義なことを見つけたいと思...

イメージのパッケージ化とワンクリック展開を実現するためにDockerを組み合わせたアイデア

1. サーバーにDockerをインストールする yumでdockerをインストール設定ファイルを変更...

deepin20 で NVIDIA クローズドソース ドライバーをインストールするための詳細な手順

ステップ1: ディープ「グラフィックドライバー」をインストールするdeepin v20にはデフォルト...

HTML チェックボックスとラジオボタンスタイルの美化の簡単な例

HTML チェックボックスとラジオボタンスタイルの美化の簡単な例チェックボックス: XML/HTML...

VMware仮想マシンを使用してUbuntu 20.04をインストールする完全なチュートリアル

Ubuntu は比較的人気のある Linux デスクトップ システムです。最近、Ubuntu 20....