ホームページ > バックエンド開発 > PHPチュートリアル > 、専門家でもまったく理解できないコーディング関連の問題が無数にあります。

、専門家でもまったく理解できないコーディング関連の問題が無数にあります。

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2016-06-13 11:59:34
オリジナル
827 人が閲覧しました

専門家に来てください。専門家がまったく理解できないコーディングの問題は無数にあります。魔法の文字化けコード
はこの投稿です (http://bbs.csdn.net/topics/390807783?page=1#post-)。 397542169

この投稿には詳しい説明があります。この問題を解いた人は240点を獲得できます。このような小さな問題が 2 ~ 3 日間私を悩ませています。http の下部からデータ パケットを調べましたが、まだ解決できません。
----------------------------------------------- --- ---------------------------------------------------
数え切れないほどのマスターがそれを行っています 不確実な (文字化け) エンコーディングの問題: コードが文字化けするのは、Linux 上の chrome でアクセスした場合のみです。それ以外はすべて正常です。
Windows ではどのブラウザでも問題ありません。
Linux 環境下。クロムアクセスのみ文字化けして表示されます。 (もちろん、Chromeのコードを手動で修正すれば正常に表示できます。)
-------------------------------- --
http://parttime.wengege.com/h/login.html

応答エンコーディングは次のとおりです: gbk,utf-8.

HTTP/1.1 200 OK
サーバー: nginx/1.4.1
日付: 2014 年 6 月 9 日月曜日 15:28:28 GMT
コンテンツ タイプ: text/html; charset=gbk,utf-8
コンテンツの長さ: 1843
Last-Modified: Mon, 09 Jun 2014 15:28:16 GMT
接続: キープアライブ
ETag: "5395d290-733"
受け入れ範囲: バイト

this/login.html の内容を editplus で開いて utf-8 で表示することも何度かしました。

ブラウザはどこで gbk であると判断するのでしょうか?それでコードが文字化けしているのでしょうか?

-----------------------
2 階の changjay からの返信を引用:
に変更してみてください。別のエディター (メモ帳や emeditor など)
いくつかのエディターを変更して保存しました。 w3c は、GBK 文字が含まれているかどうかをチェックします。つまり、utf-8 は gbk として認識されます。なんて不思議なことでしょう。何度も変換して保存しました。

http://parttime.wengege.com/h/test.html
上記の接続は、Chrome でも文字化けします (JS を導入するとコードが文字化けしますが、奇妙なことに他の部分は文字化けしています)。 IE ではまったく正常です。
----------------------------------------------- --- -----
問題は、すべてのファイル (css、php、js) がチェックされ、UTF-8 でエンコードされていることが確認されたことです。
解決できない問題がいくつかあります:
1. 通常の HTML は utf-8 でエンコードされます。 httpレスポンスは実際にはgbk、utf-8なので文字化けしてしまいます。問題は、gbk がどこから来たのかということです。これら 3 つの文字はどこから来たのですか?
私はサイト全体で GBK という 3 つの文字を検索しました。何もない! ! !
2. HTML は時々成功しても、js は依然として文字化けします。インポートされたエンコーディングを utf-8 として指定します。

3. w3c の不正な Web サイトのチェックでは、「成功した識別」コードは依然として「gbk」のままです。その後、w3c の Web サイトは何度もクラッシュしました。

すごいですね、チェックの結果、ある回線に問題があるとのこと。すべての文字を再入力しましたが、同じままです。 thinkphp3.1 のログインは、ディレクトリを変更した後も正常に行われます。ただし、この HTML を thinkphp3.2 で実行すると異常です。重要なのは、HTML と thinkphp は互いに何の関係もないということですか?
------解決策------------------
この問題は私のマシンで完全に再現できます
login.html が BOM なしの utf-8 エンコードで保存されている限り、文字化けします。保存時に BOM は保持され、側面のコード化けはありません。 UltraEdit で何度もテストを繰り返しましたが、結果は同じです。
------解決策----------------------
重要なのは、以前のプロジェクトにこのような問題があるかどうかです。状態!そうでない場合は、コードに問題があります。ある場合は、サーバーの問題、オペレーティング システムの問題、または単にコード入力のエラーである可能性があります (元の SQL ステートメントに間違った文字があり、私はそれを見つけるのに苦労しました)。小さな間違いは許されないと感じたので、実際にはまだコミットしています。)

私の提案は、主にコードか動作環境かを確認することです。
------解決策----------------------
nginx.conf 設定ファイルを確認しますか? GBKってあるの?

引用:
また?
Windows ではどのブラウザでも問題ありません。 これは恣意的すぎます!
これは XP 360 Speedy Browser のスクリーンショットです


モジュールが干渉していますか?
------解決策---------
ob_start() ;
header("Content-Type: text/html; charset=gbk,utf8");
echo "テストテキスト";
ob_flush();
?>
名前を付けて保存BOM と BOM がある場合、コードは文字化けし正常になります
-----解決策---------
header("Content-Type: text/html; charset=gbk,utf8");
はレスポンスのヘッダーです

get_headers(url)
取得した Content-Type: text/ html ; charset=gbk,utf8
サーバーの応答です

いつリクエストしましたか?
対応するヘッダーを設定していませんか?それを設定ファイルに入れて自動的に送信します。これも設定したものです

私は全然混乱してないけど、あなたは混乱してるよ!
サーバーを変更しても正常になります。これは、問題のサーバーの構成に問題があることを意味します。


-----解決策---------------------------- -
実際には、理由を見つけることはできません。いくつかの現象を観察するだけです。
Content-Type: text/html; charset=gbk,utf8
この gbk が本当の理由です、でも見つけたくないでしょう ソースだけ
関連ラベル:
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート