ホームページ >php教程 >php手册 >任意の文字セットで Web ページを正常に表示する方法

任意の文字セットで Web ページを正常に表示する方法

WBOY
WBOYオリジナル
2016-06-21 09:05:39802ブラウズ

ウェブページ|ディスプレイ

  • 通常、Web ページ上で指定したエンコードでテキストを表示できるように、Web ページでは GB2312、UTF-8、ISO-8859-1 などのエンコード文字セットを指定する必要があります。しかし、この状況に遭遇する可能性は高くなります。つまり、ISO-8859-1 でエンコードされた Web ページに中国語の文字を表示したり、GB2312 でエンコードされた Web ページに韓国語の文字を表示したりする必要があるかもしれません。もちろん、解決策の 1 つは、ISO-8859-1 や GB2312 エンコードを使用せず、UTF-8 エンコードを使用することです。これを使用する限り、さまざまな国の言語を混合して表示できます。これは現在多くの Web サイトで使用されている方法です。

    ここで話しているのは上記の方法ではありません。なぜなら、上記の方法では文字セットを UTF-8 として指定する必要があるためです。ユーザーが手動で別の文字セットを指定した場合、または何らかの理由でその文字セットが設定されている場合は、その文字セットが UTF-8 として指定される必要があります。機能せず、ブラウザが自動的に正しく認識しない場合でも、特にフレームで作成された一部の Web ページでは、表示される Web ページが文字化けします。フレーム内のページの文字セット設定が機能しない場合、Web ページは文字化けします。 Firefoxでは文字化けが表示され、変更できません(つまり、RightEncodeプラグインをインストールしないと)。

    ここで紹介する方法は、WebページがISO-8859-1文字セットに指定されている場合でも、中国語や日本語などを正しく表示できます。原理は非常に単純です。つまり、ISO-8859-1 エンコーディングの最初の 128 文字を除く他のすべてのエンコーディングは NCR (数値文字参照) で表されます。たとえば、「漢字」という 2 つの文字を「漢字」の形式で書くと、どの文字セットでも正しく表示できます。この原則に基づいて、既存の Web ページを任意の文字セットで表示できる Web ページに変換できる次のプログラムを作成しました。ソース Web ページの文字セットとソース Web ページを指定し、送信ボタンをクリックするだけで、ターゲット Web ページが取得されます。特定のテキストのみを変換することもできます。テキスト ボックスにテキストを入力し、そのテキストの元の文字セットを指定するだけで、エンコードされたテキストがページに表示されます。さらに、WordPress プラグインも作成し、どの文字セットでもブログが正しく表示されるようになりました。

    変換プログラムアドレス: http://test.coolcode.cn/nochaoscode/

    ダウンロード: nochaoscode.php
    <span style="COLOR: #007700"><</SPAN><SPAN style="COLOR: #007700">?</SPAN><SPAN style="COLOR: #0000bb">php</SPAN><SPAN style="COLOR: #0000bb"></SPAN><br/><SPAN style="COLOR: #007700">function</SPAN><SPAN style="COLOR: #0000bb"></SPAN><SPAN style="COLOR: #0000bb">nochaコード</SPAN> <SPAN style="COLOR: #007700"> (</SPAN><SPAN style="COLOR: #0000bb">$encode</SPAN><SPAN style="COLOR: #007700">,</SPAN><SPAN style="COLOR: #0000bb"> </SPAN><SPAN style="COLOR: #0000bb">$str</SPAN><SPAN style="COLOR: #007700">,</SPAN><SPAN style="COLOR: #0000bb"> </SPAN><SPAN style="COLOR: #0000bb">$isemail</SPAN><SPAN style="COLOR: #0000bb"> </SPAN><SPAN style="COLOR: #007700">=</SPAN><SPAN style="COLOR: #0000bb"> </SPAN><SPAN style="COLOR: #0000bb">false</SPAN><SPAN style="COLOR: #007700">) </SPAN><SPAN style="COLOR: #0000bb"></SPAN><SPAN style="COLOR: #007700">{</SPAN><SPAN style="COLOR: #0000bb"></SPAN><br/><SPAN style="COLOR: #0000bb"></SPAN><SPAN style="COLOR: #0000bb">$ str </SPAN><SPAN style="COLOR: #0000bb"> </SPAN><SPAN style="COLOR: #007700">=</SPAN><SPAN style="COLOR: #0000bb"> </SPAN><SPAN style="COLOR: #0000bb">iconv</SPAN><SPAN style="COLOR: #007700">(</SPAN><SPAN style="COLOR: #0000bb">$encode</SPAN><SPAN style="COLOR: #007700">,</SPAN><SPAN style="COLOR: #0000bb"> </SPAN><SPAN style="COLOR: #dd0000">"UTF-16"</SPAN><SPAN style="COLOR: #007700">,</SPAN><SPAN style="COLOR: #0000bb"></SPAN><SPAN style="COLOR: #0000bb">$str </SPAN><SPAN style="COLOR: #007700">)</SPAN><SPAN style="COLOR: #007700">;</SPAN><SPAN style="COLOR: #0000bb"></SPAN><br/><SPAN style="COLOR: #0000bb"> </SPAN><SPAN style="COLOR: #0000bb">for</SPAN><SPAN style="COLOR: #0000bb"> </SPAN><SPAN style="COLOR: #007700">(</SPAN><SPAN style="COLOR: #0000bb">$i</SPAN><SPAN style="COLOR: #0000bb"> </SPAN><SPAN style="COLOR: #007700">=</SPAN><SPAN style="COLOR: #0000bb"> </SPAN><SPAN style="COLOR: #0000bb">0</SPAN><SPAN style="COLOR: #007700">;</SPAN><SPAN style="COLOR: #0000bb"> </SPAN><SPAN style="COLOR: #0000bb">$i</SPAN><SPAN style="COLOR: #0000bb"> </SPAN><SPAN style="COLOR: #007700"><</SPAN><SPAN style="COLOR: #0000bb"> </SPAN><SPAN style="COLOR: #0000bb">strlen</SPAN><SPAN style="COLOR: #007700">(</SPAN><SPAN style="COLOR: #0000bb">$str </SPAN><SPAN style="COLOR: #007700">)</SPAN><SPAN style="COLOR: #007700">;</SPAN><SPAN style="COLOR: #0000bb"> </SPAN><SPAN style="COLOR: #0000bb">$i</SPAN><SPAN style="COLOR: #007700">++</SPAN><SPAN style="COLOR: #007700">,</SPAN><SPAN style="COLOR: #0000bb">$i</SPAN><SPAN style="COLOR: #007700">++</SPAN><SPAN style="COLOR: #007700">)</SPAN><SPAN style="COLOR: #0000bb"> </SPAN><SPAN style="COLOR: #007700">{</SPAN><SPAN style="COLOR: #0000bb"> </SPAN><br/> <SPAN style="COLOR: #0000bb"> </SPAN><SPAN style="COLOR: #0000bb">$コード</SPAN><SPAN style="COLOR: #0000bb"> </SPAN><SPAN style="COLOR: #007700">=</SPAN> <SPAN style="COLOR: #0000bb"> </SPAN><SPAN style="COLOR: #0000bb">注文</SPAN><SPAN style="COLOR: #007700">(</SPAN><SPAN style="COLOR: #0000bb">$str</SPAN><SPAN style="COLOR: #007700">{</SPAN><SPAN style="COLOR: #0000bb">$i</SPAN><SPAN style="COLOR: #007700">}</SPAN><SPAN style="COLOR: #007700">)</SPAN><SPAN style="COLOR: #0000bb"> </SPAN><SPAN style="COLOR: #007700">*</SPAN><SPAN style="COLOR: #0000bb"> </SPAN><SPAN style="COLOR: #0000bb">256</SPAN><SPAN style="COLOR: #0000bb"> </SPAN><SPAN style="COLOR: #007700">+</SPAN><SPAN style="COLOR: #0000bb"> </SPAN><SPAN style="COLOR: #0000bb">注文</SPAN><SPAN style="COLOR: #007700">(</SPAN><SPAN style="COLOR: #0000bb">$ str</SPAN><SPAN style="COLOR: #007700">{</SPAN><SPAN style="COLOR: #0000bb">$i</SPAN><SPAN style="COLOR: #0000bb"> </SPAN><SPAN style="COLOR: #007700">+</SPAN><SPAN style="COLOR: #0000bb"> </SPAN><SPAN style="COLOR: #0000bb">1</SPAN><SPAN style="COLOR: #007700">}</SPAN><SPAN style="COLOR: #007700">)</SPAN><SPAN style="COLOR: #007700">;</SPAN><SPAN style="COLOR: #0000bb"> </SPAN><br/><SPAN style="COLOR: #0000bb"> </SPAN><SPAN style="COLOR: #007700">if </SPAN><SPAN style="COLOR: #0000bb"> </SPAN><SPAN style="COLOR: #007700">(</SPAN><SPAN style="COLOR: #0000bb">$コード</SPAN><SPAN style="COLOR: #0000bb"> </SPAN><SPAN style="COLOR: #007700">< </SPAN><SPAN style="COLOR: #0000bb"> </SPAN><SPAN style="COLOR: #0000bb">128</SPAN><SPAN style="COLOR: #0000bb"> </SPAN><SPAN style="COLOR: #0000bb">と</SPAN><SPAN style="COLOR: #0000bb"> </SPAN><SPAN style="COLOR: #007700">!</SPAN><SPAN style="COLOR: #0000bb">$isemail</SPAN><SPAN style="COLOR: #007700">)</SPAN><SPAN style="COLOR: #0000bb"> </SPAN><SPAN style="COLOR: #007700">{</SPAN><SPAN style="COLOR: #0000bb"> </SPAN><br/><SPAN style="COLOR: #0000bb"> </SPAN><SPAN style="COLOR: #0000bb">$output</SPAN><SPAN style="COLOR: #0000bb"> </SPAN><SPAN style="COLOR: #007700">.=</SPAN><SPAN style="COLOR: #0000bb"> </SPAN><SPAN style="COLOR: #0000bb">chr</SPAN><SPAN style="COLOR: #007700">( </SPAN><SPAN style="COLOR: #0000bb">$code</SPAN><SPAN style="COLOR: #007700">)</SPAN><SPAN style="COLOR: #007700">;</SPAN><SPAN style="COLOR: #0000bb"> </SPAN><br/><SPAN style="COLOR: #0000bb"> </SPAN><SPAN style="COLOR: #007700">}</SPAN><SPAN style="COLOR: #0000bb"> </SPAN><SPAN style="COLOR: #007700">else</SPAN><SPAN style="COLOR: #0000bb"> </SPAN><SPAN style="COLOR: #007700">if</SPAN><SPAN style="COLOR: #0000bb"> </SPAN><SPAN style="COLOR: #007700">( </SPAN><SPAN style="COLOR: #0000bb">$code</SPAN><SPAN style="COLOR: #0000bb"> </SPAN><SPAN style="COLOR: #0000bb">!=</SPAN><SPAN style="COLOR: #0000bb"> </SPAN><SPAN style="COLOR: #0000bb">65279</SPAN><SPAN style="COLOR: #007700"> )</SPAN><SPAN style="COLOR: #0000bb"> </SPAN><SPAN style="COLOR: #007700">{</SPAN><SPAN style="COLOR: #0000bb"> </SPAN><br/><SPAN style="COLOR: #0000bb"> </SPAN><SPAN style="COLOR: #0000bb">$output</SPAN><SPAN style="COLOR: #0000bb"> </SPAN><SPAN style="COLOR: #007700">.=</SPAN><SPAN style="COLOR: #0000bb"> </SPAN><SPAN style="COLOR: #dd0000">"&#"</SPAN><SPAN style="COLOR: #007700">.</SPAN><SPAN style="COLOR: #0000bb">$code</SPAN><SPAN style="COLOR: #007700">.</SPAN><SPAN style="COLOR: #dd0000">";"</SPAN><SPAN style="COLOR: #007700">;</SPAN> <SPAN style="COLOR: #0000bb"> </SPAN><br/><SPAN style="COLOR: #0000bb"> </SPAN><SPAN style="COLOR: #007700">}</SPAN><SPAN style="COLOR: #0000bb"> </SPAN><br/><SPAN style="COLOR: #0000bb"> </SPAN><SPAN style="COLOR: #007700">}</SPAN><SPAN style="COLOR: #0000bb"> </SPAN><br/><SPAN style="COLOR: #0000bb"> </SPAN><SPAN style="COLOR: #007700">return</SPAN><SPAN style="COLOR: #0000bb"> </SPAN><SPAN style="COLOR: #0000bb">$output</SPAN><SPAN style="COLOR: #007700">;</SPAN><SPAN style="COLOR: #0000bb"> </SPAN><br/><SPAN style="COLOR: #007700">}</SPAN><SPAN style="COLOR: #0000bb"> </SPAN><br/><SPAN style="COLOR: #0000bb">$encode </SPAN><SPAN style="COLOR: #0000bb"> </SPAN><SPAN style="COLOR: #007700">=</SPAN><SPAN style="COLOR: #0000bb"> </SPAN><SPAN style="COLOR: #0000bb">$_POST</SPAN><SPAN style="COLOR: #007700">[</SPAN><SPAN style="COLOR: #dd0000">' encode'</SPAN><SPAN style="COLOR: #007700">]</SPAN><SPAN style="COLOR: #007700">;</SPAN><SPAN style="COLOR: #0000bb"> </SPAN><br/><SPAN style="COLOR: #007700">if</SPAN><SPAN style="COLOR: #0000bb"> </SPAN><SPAN style="COLOR: #007700">(</SPAN><SPAN style="COLOR: #0000bb">$encode</SPAN><SPAN style="COLOR: #0000bb"> </SPAN><SPAN style="COLOR: #007700">==</SPAN><SPAN style="COLOR: #0000bb"> </SPAN><SPAN style="COLOR: #dd0000">''</SPAN><SPAN style="COLOR: #007700">)</SPAN> <SPAN style="COLOR: #0000bb"> </SPAN><SPAN style="COLOR: #0000bb">$エンコード</SPAN><SPAN style="COLOR: #0000bb"> </SPAN><SPAN style="COLOR: #007700">=</SPAN> <SPAN style="COLOR: #0000bb"> </SPAN><SPAN style="COLOR: #dd0000">'UTF-8'</SPAN><SPAN style="COLOR: #007700">;</SPAN><SPAN style="COLOR: #0000bb"> </SPAN><br/><SPAN style="COLOR: #007700">if</SPAN><SPAN style="COLOR: #0000bb"> </SPAN><SPAN style="COLOR: #007700">(</SPAN><SPAN style="COLOR: #0000bb">$_FILES</SPAN><SPAN style="COLOR: #007700">[</SPAN><SPAN style="COLOR: #dd0000">'ファイル'</SPAN><SPAN style="COLOR: #007700">]</SPAN><SPAN style="COLOR: #007700">[ </SPAN><SPAN style="COLOR: #dd0000">「サイズ」</SPAN><SPAN style="COLOR: #007700">]</SPAN><SPAN style="COLOR: #0000bb"> </SPAN><SPAN style="COLOR: #007700">></SPAN><SPAN style="COLOR: #0000bb"> </SPAN><SPAN style="COLOR: #0000bb">0</SPAN><SPAN style="COLOR: #007700">)</SPAN><SPAN style="COLOR: #0000bb"> </SPAN><SPAN style="COLOR: #007700">{</SPAN><SPAN style="COLOR: #0000bb"> </SPAN><br/><SPAN style="COLOR: #0000bb"> </SPAN><SPAN style="COLOR: #0000bb">$data</SPAN><SPAN style="COLOR: #0000bb"> </SPAN><SPAN style="COLOR: #007700">=</SPAN><SPAN style="COLOR: #0000bb"> </SPAN><SPAN style="COLOR: #0000bb">nochaoscode</SPAN><SPAN style="COLOR: #007700">(</SPAN><SPAN style="COLOR: #0000bb">$encode</SPAN><SPAN style="COLOR: #007700">,</SPAN><SPAN style="COLOR: #0000bb"> </SPAN><SPAN style="COLOR: #0000bb"> file_get_contents</SPAN><SPAN style="COLOR: #007700">(</SPAN><SPAN style="COLOR: #0000bb">$_FILES</SPAN><SPAN style="COLOR: #007700">[</SPAN><SPAN style="COLOR: #dd0000">'file'</SPAN><SPAN style="COLOR: #007700">]</SPAN><SPAN style="COLOR: #007700">[</SPAN><SPAN style="COLOR: #dd0000">'tmp_name'</SPAN><SPAN style="COLOR: #007700">]</SPAN><SPAN style="COLOR: #007700">)</SPAN><SPAN style="COLOR: #007700">)</SPAN><SPAN style="COLOR: #007700">;</SPAN> <SPAN style="COLOR: #0000bb"> </SPAN><br/><SPAN style="COLOR: #0000bb"> </SPAN><SPAN style="COLOR: #0000bb">ヘッダー</SPAN><SPAN style="COLOR: #0000bb"> </SPAN> <SPAN style="COLOR: #007700">(</SPAN><SPAN style="COLOR: #dd0000">"Content-type: application/octet-stream;"</SPAN><SPAN style="COLOR: #007700">)</SPAN><SPAN style="COLOR: #007700">;</SPAN><SPAN style="COLOR: #0000bb"> </SPAN><br/><SPAN style="COLOR: #0000bb"> </SPAN><SPAN style="COLOR: #0000bb">header</SPAN><SPAN style="COLOR: #0000bb"> </SPAN><SPAN style="COLOR: #007700">(</SPAN><SPAN style="COLOR: #dd0000">"Content-length: "</SPAN> <SPAN style="COLOR: #007700">.</SPAN><SPAN style="COLOR: #0000bb">ストラレン</SPAN> <SPAN style="COLOR: #007700">(</SPAN><SPAN style="COLOR: #0000bb">$data</SPAN><SPAN style="COLOR: #007700">)</SPAN><SPAN style="COLOR: #007700">)</SPAN><SPAN style="COLOR: #007700">;</SPAN><SPAN style="COLOR: #0000bb"> </SPAN><br/><SPAN style="COLOR: #0000bb"> </SPAN><SPAN style="COLOR: #0000bb">header</SPAN><SPAN style="COLOR: #0000bb"> </SPAN><SPAN style="COLOR: #007700">(</SPAN><SPAN style="COLOR: #dd0000">"Content-Disposition: attachment; filename="</SPAN><SPAN style="COLOR: #007700">.</SPAN><SPAN style="COLOR: #0000bb">$_FILES</SPAN><SPAN style="COLOR: #007700">[</SPAN><SPAN style="COLOR: #dd0000">'file'</SPAN><SPAN style="COLOR: #007700">]</SPAN><SPAN style="COLOR: #007700">[ </SPAN><SPAN style="COLOR: #dd0000">「名前」</SPAN><SPAN style="COLOR: #007700">] </SPAN><SPAN style="COLOR: #007700">)</SPAN><SPAN style="COLOR: #007700">;</SPAN><SPAN style="COLOR: #0000bb"> </SPAN><br/><SPAN style="COLOR: #0000bb"> </SPAN><SPAN style="COLOR: #007700">echo</SPAN><SPAN style="COLOR: #0000bb"> </SPAN><SPAN style="COLOR: #0000bb">$data</SPAN><SPAN style="COLOR: #007700">;</SPAN><SPAN style="COLOR: #0000bb"> </SPAN><br/><SPAN style="COLOR: #007700">}</SPAN><SPAN style="COLOR: #0000bb"> </SPAN><SPAN style="COLOR: #007700">el se</SPAN><SPAN style="COLOR: #0000bb"> </SPAN><SPAN style="COLOR: #007700">{</SPAN><SPAN style="COLOR: #0000bb"> </SPAN><br/><SPAN style="COLOR: #0000bb"> </SPAN><SPAN style="COLOR: #0000bb">ヘッダー</SPAN><SPAN style="COLOR: #0000bb"> </SPAN> <SPAN style="COLOR: #007700">(</SPAN><SPAN style="COLOR: #dd0000">"Content-type: text/html; charset=UTF-8"</SPAN><SPAN style="COLOR: #007700">)</SPAN><SPAN style="COLOR: #007700">;</SPAN><SPAN style="COLOR: #0000bb"> </SPAN><br/><SPAN style="COLOR: #0000bb"> </SPAN><SPAN style="COLOR: #007700">if</SPAN><SPAN style="COLOR: #0000bb"> </SPAN><SPAN style="COLOR: #007700">(</SPAN><SPAN style="COLOR: #0000bb">$_POST</SPAN> <SPAN style="COLOR: #007700">[</SPAN><SPAN style="COLOR: #dd0000">「メール」 </SPAN><SPAN style="COLOR: #007700">]</SPAN><SPAN style="COLOR: #007700">)</SPAN><SPAN style="COLOR: #0000bb"> </SPAN><SPAN style="COLOR: #007700">{</SPAN><SPAN style="COLOR: #0000bb"> </SPAN><br/><SPAN style="COLOR: #0000bb"> </SPAN><SPAN style="COLOR: #007700">echo</SPAN><SPAN style="COLOR: #0000bb"> </SPAN><SPAN style="COLOR: #0000bb">htmlentities</SPAN><SPAN style="COLOR: #007700">(</SPAN><SPAN style="COLOR: #0000bb">nochaoscode</SPAN>) <SPAN style="COLOR: #007700">(</SPAN><SPAN style="COLOR: #0000bb">$エンコード</SPAN><SPAN style="COLOR: #007700">,</SPAN><SPAN style="COLOR: #0000bb"> </SPAN><SPAN style="COLOR: #0000bb">$_POST</SPAN><SPAN style="COLOR: #007700">[</SPAN> <SPAN style="COLOR: #dd0000">「メール」</SPAN><SPAN style="COLOR: #007700">]</SPAN><SPAN style="COLOR: #007700">,</SPAN><SPAN style="COLOR: #0000bb"> </SPAN><SPAN style="COLOR: #0000bb">tru​​e</SPAN><SPAN style="COLOR: #007700">)</SPAN><SPAN style="COLOR: #007700">)</SPAN><SPAN style="COLOR: #007700">;</SPAN><SPAN style="COLOR: #0000bb"> </SPAN><br/><SPAN style="COLOR: #0000bb"> </SPAN><SPAN style="COLOR: #007700">}</SPAN><SPAN style="COLOR: #0000bb"> </SPAN> <br/><SPAN style="COLOR: #0000bb"> </SPAN><SPAN style="COLOR: #007700">else</SPAN><SPAN style="COLOR: #0000bb"> </SPAN><SPAN style="COLOR: #007700">{</SPAN><SPAN style="COLOR: #0000bb"> </SPAN><br/><SPAN style="COLOR: #0000bb"> </SPAN><SPAN style="COLOR: #007700">echo</SPAN><SPAN style="COLOR: #0000bb"> </SPAN><SPAN style="COLOR: #0000bb">htmlentities</SPAN><SPAN style="COLOR: #007700">(</SPAN><SPAN style="COLOR: #0000bb">nochaoscode</SPAN><SPAN style="COLOR: #007700">(</SPAN><SPAN style="COLOR: #0000bb">$encode</SPAN><SPAN style="COLOR: #007700">,</SPAN><SPAN style="COLOR: #0000bb"> </SPAN><SPAN style="COLOR: #0000bb">$_POST</SPAN><SPAN style="COLOR: #007700">[</SPAN><SPAN style="COLOR: #dd0000">'content' </SPAN><SPAN style="COLOR: #007700">]</SPAN><SPAN style="COLOR: #007700">)</SPAN><SPAN style="COLOR: #007700">)</SPAN><SPAN style="COLOR: #007700">; </SPAN><SPAN style="COLOR: #0000bb"> </SPAN><br/><SPAN style="COLOR: #0000bb"> </SPAN><SPAN style="COLOR: #007700">}</SPAN><SPAN style="COLOR: #0000bb"> </SPAN><br/><SPAN style="COLOR: #0000bb">?></span>

    エンコード:

    ファイル:



    <フォームメソッド="POST">
    エンコード:

    コンテンツ:



    <フォームメソッド="POST">
    エンコード:

    メール:



    <font face="新宋体"><span style="COLOR: #007700"><</SPAN><SPAN style="COLOR: #007700">?</SPAN><SPAN style="COLOR: #0000bb">php</SPAN><SPAN style="COLOR: #0000bb"> </SPAN><br/><SPAN style="COLOR: #007700">}</SPAN><SPAN style="COLOR: #0000bb"> </SPAN><br/><SPAN style="COLOR: #0000bb">?></span> </font>


  • 声明:
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。