ホームページ バックエンド開発 PHPチュートリアル FLASH を使用して PHP で生成された XML を取得することが文字化けの究極の解決策です_PHP チュートリアル

FLASH を使用して PHP で生成された XML を取得することが文字化けの究極の解決策です_PHP チュートリアル

Jul 21, 2016 pm 03:44 PM
flash php xml のために 文字化け による 探検する 生成する 得る 解決する 記録

探索の末にようやく解決しました。それを記録し、一般的な解決策も記録します。 XML<->FLASH の文字化けコードも発生した場合は、次のことをすぐに確認できます:

1. XML にまったく問題がないことが確実な状況:
まず第一に、Flash が XML を読み取るときに文字化けするコードには、静的属性 System.useCodepage が含まれています
公式説明: 「Flash Player にどのコード ページを指示するかを示すブール値」外部テキスト ファイルを解釈するために使用します。「デフォルトは false。
UTF8 でエンコードされた外部テキスト ファイルを使用する場合、bkJia.com はそれを心配する必要はありません。UTF8 でエンコードされていないテキスト ファイルを使用し、テキストに中国語の文字が含まれる場合は、フラッシュするように true に設定する必要があります。文字化けせずに文字を読むことができます。
AS3 では、最初に flash.system.System; をインポートしてから、System.useCodePage=true; を設定できます。 PHP で UTF-8 エンコードされた XML を生成したい:

XML に中国語の文字を存在させたい場合は、UTF-8 エンコードを使用するのが最善です。 DOM を使用して XML を作成する前に、 $dom_XML = new DomDocument('1.0','UTF-8'); として宣言します。2 番目のパラメータは、XML ドキュメントの宣言部分のエンコード値に対応します。ただし、これは宣言されたエンコーディングにすぎないことに注意してください。$dom_XML->saveXML(); を使用して実際に生成される XML ファイルは、PHP スクリプトのソース ファイルと同じエンコーディング形式です。つまり、「どのエンコーディングが PHP ですか?」
3. XML ファイルの宣言エンコーディングは UTF-8 ですが、フラッシュで useCodepage がどのような値に設定されていても、読み取りが文字化けすることがよくあります。これは、通常、宣言部分が UTF-8 であっても、ファイル自体が UTF-8 ではないことが原因です。 UTF-8 (私自身は ANSI コード化されています、汗)。
これは深刻な問題を引き起こします。Firefox ブラウザは XML を正常に解釈できますが、IE (TT などの IE Core ブラウザを含む) では文字が間違っているというメッセージが表示され、Flash でも文字化けが表示されます。
この状況に対処するには 2 つの方法があります: XML 宣言部分を GB2312 などの非 UTF-8 に変更し、FLASH useCodepage=true を設定します。
XML をメモ帳で開き、「名前を付けて保存」を使用します。 UTF-8 として保存するコマンドで十分です
つまり、エンコーディング ステートメントはファイル自体のエンコーディングと一致し、名前と矛盾することはできません。


4. PHP ソース ファイルは UTF8 でエンコードされていません。FLASH が中国語の文字をサポートできるようにする XML を生成するにはどうすればよいですか?これは私が遭遇した状況です:

PHP は ANSI で保存されており、DOM を使用して生成された XML は当然 ANSI です。bkJia.com によってエンコードされた XML ファイルに中国語の文字が含まれている場合、エンコードが UTF-8 であると宣言されている場合でも、正しく読み取れませんでした。
この前提のもと、FLASH が文字化けせずに XML を正しく読み取れるようにするには、エンコードを GB2312 に設定する必要があります。
しかし、PHP の DOM は GB2312 を使用して漢字を書くことはできません (理解できません。アドバイスをお願いします)? new DomDocument('1.0','GB2312'); の場合、XML の保存時に「conv エラーのため出力変換に失敗しました。バイト 0xCE 0xD2 0x5D 0x5D」などのエラーが発生します。つまり、私の ANSI PHP は、UTF-8 として宣言されているものの、実際には ANSI である XML ファイルしか生成できません。当然、このようなファイルは FLASH によって文字化けとして読み取られます (記事 3 を参照)。
私の解決策:

PHP が UTF-8 宣言を含む XML を生成した後、手順を追加します。XML ファイルを開き、ヘッダー宣言を書き換えて UTF-8 を GB2312 に置き換えます。ふふ、FLASHでもIEでもFFでも大丈夫ですよ!

http://www.bkjia.com/PHPjc/320424.html

www.bkjia.com

tru​​ehttp://www.bkjia.com/PHPjc/320424.html技術記事探索の末にようやく解決しました。それを記録し、一般的な解決策も記録します。 XML-FLASH の文字化けが発生した場合は、次のことをすぐに確認できます。 1. XML に全く問題がないと確信できる状況: まずは...
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

CakePHP の日付と時刻

CakePHP プロジェクトの構成 CakePHP プロジェクトの構成 Sep 10, 2024 pm 05:25 PM

CakePHP プロジェクトの構成

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

CakePHP ファイルのアップロード

CakePHP ルーティング CakePHP ルーティング Sep 10, 2024 pm 05:25 PM

CakePHP ルーティング

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP について話し合う

CakePHP クイックガイド CakePHP クイックガイド Sep 10, 2024 pm 05:27 PM

CakePHP クイックガイド

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法

See all articles