愛は無限です 愛は無限です

ホームページ  >  記事  >  バックエンド開発  >  奇妙!皆さん、助けに来てください

奇妙!皆さん、助けに来てください

WBOY
WBOYオリジナル
2016-06-13 13:02:491033ブラウズ

奇妙!遠慮せずにご協力ください
辛抱強く読んで分析にご協力ください。

まず最初に、ファイルは間違いなく UTF-8 でエンコードされており、ホストも Linux であることを述べておく必要があります。何度もテストしました—

現在使用されているホストは Huaxia Mingwang と Yingwang の 2 つです。

<a href="?str=%E7%88%B1%E6%97%A0%E9%99%90">爱无限</a><br />
<?php<br />
echo $_GET['str'];<br />
?>


ファイルはすべて中国語で「愛は無限大」と表示できます。コード受信は正常に動作します。

しかし、CLP で新しいスペースを購入したとき、奇妙な現象が発生しました。つまり、
<a href="?str=%25E7%2588%25B1%25E6%2597%25A0%25E9%2599%2590">爱无限</a>(这里str参数――要再urlencode一次)<br />
<?php<br />
echo $_GET['str'];<br />
?>


または

<a href="?str=%E7%88%B1%E6%97%A0%E9%99%90">爱无限</a><br />
<?php<br />
echo iconv( 'gb2312','utf-8', $_GET['str']);<br />
?>


「愛は無限です」を中国語で正しく表示するにはどうすればよいですか。
ファイルエンコーディングが既に UTF-8 になっているのに、なぜ変換する必要があるのでしょうか。また、なぜ途中で変更したのでしょうか?

-----最善の解決策---------
http ヘッダー情報には MS-Author-Via: DAV
DAV の意味は、サーバーが推奨するオーサリング方法は WebDAV
です。 WebDAV は Microsoft の http プロトコル拡張機能です

これに基づいて、サーバーは常に Unicode エンコードに従ってマルチバイト テキストを処理すると推測されます
対応する中国語は gbk

-----その他の解決策---------ブラウザは utf - 8 エンコーディング

d45bed45e260824c1cf5ba0ba57d4df8愛は無限です5db79b134e9f6b82c0b36e0489ee08ed これはどうでしょうか

-----他の解決策---------- - --------「手伝いに来なくてもいいよ」って言ったから、ちょっと寄ってみます


ヒント ASCII(25)==%

-----その他の解決策---------表示チェックホストのデフォルトのエンコーディングが utf8

の場合------その他の解決策-----------------------

引用:ブラウザのエンコードは utf-8 ですか
d45bed45e260824c1cf5ba0ba57d4df8愛は無限です5db79b134e9f6b82c0b36e0489ee08edこれはどうでしょうか

1. テストに同じブラウザを使用したことは間違いありません。最初の 2 つのホストは正常でしたが、新しいホストは正常ではありませんでした。
2. まだ文字化けしています。iconv('gb2312','utf-8', $_GET['str']);

奇妙なことに、最初に送信された %E7%88%B1%E6%97%A0%E9%99%90 はすでに UTF-8 でエンコードされていますが、受信時にまだトランスコードされているのはなぜですか? ホスト システムに何か設定があるのでしょうか?

------他の解決策----------------------助けに来ないでください

- -----その他の解決策--------------------
引用:確認してください。ホストのデフォルトのエンコーディングは utf8
です。 これを確認する方法は、

-----その他の解決策--------1. echo を使用します。 ini_get('default_charset'); チェック、出力: utf-8
それは正しい。

2. echo mb_detect_encoding($_GET['str']); を使用して (str.php?str=%E7%88%B1%E6%97%A0%E9%99%90) を確認します。出力: CP936
問題が発生します! ――utf-8 ではありません

-----その他の解決策---------
引用:http ヘッダー情報には
が含まれています MS-Author-Via: DAV
DAV の意味は、サーバーが推奨するオーサリング方法は WebDAV
です。 WebDAV は Microsoft の http プロトコル拡張機能です

このことから、サーバーは常に Unicode エンコーディングに従ってマルチバイトテキストを処理していると推測されます
対応する中国語は gbk
どうすればいいですか、ボス?クリックして引き抜きます。

------その他の解決策------------------わかりました。ホスティング プロバイダーに連絡してください。ホスト プロバイダー調整したのはホストのせいです。投稿終わり!
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。