非常に珍しいパラメータ文字化けの問題に遭遇しました。まずページを見てみましょう![]() 写真に示すように、月次インジケーターの下に同じラジオが 3 つあります。 3 つのラジオボタンの下に iframe があります。これにより、異なるラジオボタンをクリックすると異なるページが表示されます。 クリックすると、パラメータとともに Web ページのアドレスが渡されます。 (1)問題が発生しました。「日次インデックス」と「月次インデックス」を切り替える際に、渡したパラメータが漢字だったため、バックグラウンドで文字化けした文字として取得されてしまいました。 そこで、パラメータをエンコードし、バックグラウンドで UrlDecode を使用してデコードしましたが、文字がまだ文字化けしていることに気づき、がっかりしました。 その後、ページのエンコーディングを注意深く確認したところ、iframe で開くページにエンコーディングがないことがわかりました。 そこで次の文をページに追加します コードをコピー コードは次のとおりです。<meta http-equiv="コンテンツタイプ" コンテンツ="text/html; charset=gb2312" /> 現在は動作しているようで、「日次指標」と「月次指標」の Web ページを切り替えると正常に表示され、パラメータが渡されます。 (2)しかし、奇妙な問題が発生しました。ラジオを切り替えると、エラーメッセージが表示され、パラメータが文字化けしました。 今回は何が悪かったのか本当にわかりません。「日次指標」、「月次指標」、およびラジオボタンのクリックによるページ切り替えには同じ JS メソッドが使用されています。 イライラしながら、ランダムにクリックしてみたところ、次のものを見つけました。 「炭層メタン」をクリックすると、ページは正常でした。次に「石油生産」をクリックすると、パラメータが間違っていました。石油生産がすでに選択されているときに「石油生産」をクリックすると、ページは正常に表示されました。このようになってはいけません。次に、「炭層メタン」と「石油生産」を比較しました。「石油生産」モジュールの公式ページはすでに投稿しましたが、「炭層メタン」モジュールはまだ作成されていないため、Baiduページをランダムに投稿しました。質問(1)のエンコードの問題のため、まずエンコードの問題を考えました。Baiduのエンコードを以下のように確認しました。 コードをコピー コードは次のとおりです。<metahttp-equiv="コンテンツタイプ" コンテンツ="text/html;charset=utf-8"> エンコード形式が異なります。そこで、「石油生産」ページにも「炭層メタン」を追加し、Baidu を削除しました。 えーと、ページは正常に実行されますが、パラメータが報告されず、コードが文字化けしています。 理由を分析すると、パラメータを渡すときに取得されるのは現在の iframe 表示ページのエンコーディングであり、開くページのエンコーディングとは関係がないようです。 しかし、これは本当はそうではありません。これは iframe です。URL を割り当て、親ページの iframe にパラメータを渡します。なぜ iframe の現在のページを気にする必要があるのでしょうか? |
<<: DockerでMongoDBコンテナをデプロイする方法
>>: ウェブデザイナーもウェブコーディングを学ぶ必要がある
1. 背景最近、独立した開発者がUIデザインを行うのを支援するために、uideaというWebサイト...
この記事では、プラグインを使用して画像の比例カットを実現するVueの具体的なコードを参考までに共有し...
1. Workstationで仮想マシンのハードウェアバージョンを変更するWorkstation ...
目次準備展開プロセスRocketMQ の初体験関連する質問ヘルプドキュメント私は最近 RocketM...
序文Linux システムの運用および保守エンジニア職の面接を受ける場合は、次の 10 個の最も一般的...
目次序文プロトタイプ継承アドバンテージ欠点コンストラクタの継承アドバンテージ欠点組み合わせ継承寄生的...
HTML に画像を挿入するには、画像を表示するための HTML タグが必要です。これは、img タ...
1. データを準備するこのテーブルでは次の操作が実行されます 学生テーブルを作成 ( id int ...
序文mysql がデフォルトのデータベース パスを変更したため、サービスを開始できませんでした。ログ...
目次序文必要成し遂げる最初のレンダリングメニュー項目をクリックしますスタイルの区別デフォルトのハイラ...
外部アクセスポートをランダムにマップする -P フラグを使用すると、Docker は 49000 か...
目次ノードのバージョンが一致しない、ノードをアップグレードまたはダウングレードするnvm を使用して...
VMware が異常シャットダウンした後、再起動すると「この構成ファイルを排他的にロックできませんで...
=設定および更新の場合にのみ、:= と同じ効果、つまり代入効果があり、それ以外の場合は等号の効果があ...
この記事では、デジタル時計効果を実現するためのJavaScriptの具体的なコードを参考までに紹介し...