まずエンコードの問題について説明します。XMLファイルとページファイルのエンコードが一致していない場合、文字化けが発生します。中国語の文字化けの問題を解決するには、出力時に次のステートメントを使用できます: echo iconv("UTF-8","GBK",$Song_Url);
PHP Webページのエンコーディング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 とデータベースのコーディングは一貫している必要があります
データベース操作を実行する必要がある PHP プログラムの前に mysql_query("set names 'encoding'"); を追加します。PHP エンコーディングが gb2312 である場合、mysql エンコーディングは gb2312 です。 utf-8 の場合、mysql エンコーディングは utf8 となり、データの挿入または取得時に文字化けが発生しません。
PHPはオペレーティングシステムに関連しています
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
)