ホームページ  >  記事  >  バックエンド開発  >  PHP_PHP チュートリアルを使用して XML を解析するいくつかの方法

PHP_PHP チュートリアルを使用して XML を解析するいくつかの方法

WBOY
WBOYオリジナル
2016-07-13 10:33:27942ブラウズ

まずエンコードの問題について説明します。XMLファイルとページファイルのエンコードが一致していない場合、文字化けが発生します。中国語の文字化けの問題を解決するには、出力時に次のステートメントを使用できます: echo iconv("UTF-8","GBK",$Song_Url);

PHP Webページのエンコーディング

php ファイル自体のエンコーディングは、Web ページのエンコーディングと一致する必要があります。gb2312 エンコーディングを使用する場合、php はヘッダー ("Content-Type: text/html; charset=gb2312") を出力する必要があります。 、すべてのファイルのエンコード形式は ANSI です。メモ帳で開き、名前を付けて保存し、選択できます。エンコーディングを ANSI として指定し、ソース ファイルを上書きします。

utf-8 エンコーディングを使用したい場合、php はヘッダーを出力する必要があります: header("Content-Type: text/html; charset=utf-8") そして にコピーする場合、すべてのファイルのエンコード形式は utf-8 です。 utf-8 として保存するのは少し面倒かもしれません。セッションを使用する場合は、editplus を使用して保存できます。 [選択] -> [ファイル] -> [UTF-8 署名] を選択し、[常に削除] を選択して保存し、BOM 情報を削除します。

php 自体は Unicode ではないため、substr などのすべての関数を mb_substr に変更するか (mbstring 拡張機能をインストールする必要があります)、iconv を使用してトランスコードする必要があります。

PHP と Mysql 間のデータ対話 PHP とデータベースのコーディングは一貫している必要があります

mysql 設定ファイル my.ini または my.cnf を変更します。mysql [mysql] には utf8 エンコーディングを使用するのが最善です。 リーリー

データベース操作を実行する必要がある PHP プログラムの前に mysql_query("set names 'encoding'"); を追加します。PHP エンコーディングが gb2312 である場合、mysql エンコーディングは gb2312 です。 utf-8 の場合、mysql エンコーディングは utf8 となり、データの挿入または取得時に文字化けが発生しません。

PHPはオペレーティングシステムに関連しています

WindowsとLinuxのエンコードが異なります。Windows環境では、PHP関数を呼び出す際にパラメータがutf-8でエンコードされていると、move_uploaded_file()、filesize()、readfile()などのエラーが発生します。処理中です アップロードやダウンロード時によく使用されます。呼び出し時に次のエラーが発生する場合があります:

リーリー

Linux 環境で gb2312 エンコードを使用する場合、これらのエラーは発生しませんが、保存されたファイル名が文字化けし、ファイルを読み取ることができなくなります。この場合、まずパラメータをオペレーティング システムで認識されるエンコードに変換できます。エンコード変換には、mb_convert_encoding (文字列、新しいエンコード、元のエンコード) または iconv (元のエンコード、新しいエンコード、文字列) を使用できます。これにより、処理後に保存されたファイル名が文字化けせず、ファイルを正常に読み込むことができます。中国語名のファイルのアップロードとダウンロード。

実際、より良い解決策があります。それはシステムから完全に分離することであり、システムのエンコーディングを考慮する必要はありません。ファイル名として文字と数字のみのシーケンスを生成し、データベースに漢字を含む元の名前を保存することができます。この方法では、ダウンロード時に move_uploaded_file() を呼び出すときに問題は発生しません。ファイル名を中国語の文字を含む元の名前に変更します。ダウンロードを実装するコードは次のとおりです:

リーリー

$file_type はファイルの種類、$file_name は元の名前、$file_path はサービス上に保存されたファイルのアドレスです。

book.xml

リーリー

DOM ライブラリを使用して XML を読み取る:

リーリー

SAX パーサーを使用して XML を読み取る:

リーリー

正規表現を使用して XML を解析する:

れーれー

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

tru​​ehttp://www.bkjia.com/PHPjc/752474.html技術記事まずエンコードの問題についてですが、XMLファイルとページファイルのエンコードが一致していないと文字化けが発生します。中国語の文字化けの問題を解決するには、出力時に次のステートメントを使用できます。 echo iconv("UTF-8","G...
)
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。