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

推薦する

Linux コマンドを使用してオーディオ形式を変換および結合する方法

FFmpeg flacをインストールする eric@ray:~$ sudo apt install ...

MySQL 5.6.37 (zip) ダウンロード インストール 構成 グラフィック チュートリアル

この記事では、MySQL 5.6.37のダウンロード、インストール、設定のチュートリアルを参考までに...

HTMLフローティングプロンプトボックス機能の実装コード

一般的なフォーム プロンプトは常にフォームのスペースを占有し、フォームが長くなったり広くなったりして...

MySQL 5.7.9 バージョンの sql_mode=only_full_group_by 問題を解決する

MySQL 5.7.9 バージョンの sql_mode=only_full_group_by の問題...

MySQL 1対多関連クエリのページングエラー問題の解決方法

XML価格照会のクエリデータにはリストが含まれているため、コレクションが必要です <結果マップ...

MySQL binlog ログを開く方法

binlog は、すべての mysql dml 操作を記録するバイナリ ログ ファイルです。 bin...

ウェブサイトのパフォーマンスを向上させるためのウェブサーバーの改善

<br />このシリーズの最初のセクションでは、Web サイトのパフォーマンスを向上させ...

HTMLで特殊記号を表示する(特殊文字対応表付き)

問題の再現HTML を使用して編集する場合、特殊記号によってエラーが表示されることが多く、極端な場合...

Nginx サービスを使用してサブドメイン環境を構築し、2D マップの読み込みパフォーマンスを向上させる方法を説明します。

1. 背景最近、友人が大規模なマップの読み込みが遅いという問題に遭遇しました。iServer のパ...

WeChatアプレットでSVGアイコンを使用する方法

SVG は、さまざまな利点があるため、近年広く使用されています。残念ながら、WeChat ミニプログ...

フレックスボックスレイアウトの最終行の左揃えの実装アイデア

フレックスレイアウトを使用すると、9つの正方形のグリッドであれば、図に示すように均等に分割できます。...

MySQL でストアド プロシージャを作成し、ループでレコードを追加する方法

この記事では、例を使用して、MySQL でストアド プロシージャを作成し、ループでレコードを追加する...

Vue3でelement-plusを使用する方法の詳細な説明

目次1. インストール2. main.jsにインポートする3. 使用Vue3がリリースされてからしば...

ユーザー中心設計

最近、デジタル デザイン コミュニティで「誰が何を担当するのか」という明らかな混乱についてよく質問さ...

CSS で平均レイアウトを実現するために負のマージンを使用する例

均等に分散されたレイアウトの場合、通常はネガティブ マージン方式を使用します。次の図は平均的なレイア...