非常に珍しいパラメータ文字化けの問題に遭遇しました。まずページを見てみましょう![]() 写真に示すように、月次インジケーターの下に同じラジオが 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. Consulクラスタをデプロイする1. 準備3. Consulクラスタを作成する4. 管理...
目次アプリケーションシナリオアイデアプロジェクト構造全体的なプロジェクト構造webpack パッケー...
目次百万レベルのデータ処理ソリューションデータストレージ構造設計クエリステートメントの最適化1000...
1. SpringBoootプロジェクトを作成し、jarパッケージにパッケージ化する2. Linux...
インターネットには、真実のように見える「噂」がたくさんあります。もちろん、悪意のあるものではありませ...
<a> タグは主に、ハイパーリンクまたはアンカー リンクとも呼ばれるリンクとブックマーク...
目次1. 補足知識ポイント: 関数の暗黙的な変換2. 補足知識: call/apply を使って配列...
目次forEach() メソッドjs の Array.forEach のループから抜け出す方法解決:...
序文最近、プロジェクトを構築しているときに、リクエストのカプセル化について考え、どのようにカプセル化...
最近のプロジェクトでは、ポイントを集める効果を作成する必要があります。 ボスの説明によると、この効果...
今日、3年生から質問がありました。彼が書いた HTML コードを開くと、文字化けした文字が表示されま...
それは何ですか? GNU Parallel は、1 台以上のコンピュータでコンピューティング タスク...
Docker を正式に使用する前に、まず Docker でよく使用されるコマンドに慣れておきましょう...
ターゲットzabbix フロントエンド監視の iostat コマンドでデータの 1 つを表示します。...
時間フィールドを作成するときデフォルトのCURRENT_TIMESTAMPデータを挿入する際、このフ...