phpstudyの設定を行っていると、ページにアクセスすると中国語が文字化けしてしまいますので、以下の方法で解決します。
1. PHP Web ページのエンコーディング
1. PHP ファイル自体のエンコーディングと Web ページのエンコーディングは一致する必要があります
a . gb2312 エンコードを使用する場合、php はヘッダー header("Content-Type: text/html; charset=gb2312")
を出力し、 を追加する必要があります。 <meta http-equiv="を静的ページ" content-type content="text/html; charset=gb2312">
に設定すると、すべてのファイルのエンコード形式は ANSI
になります。メモ帳で開き、名前を付けて保存し、エンコードを ANSI として選択し、ソース ファイルを上書きします。
b. utf-8 エンコーディングを使用する場合、php はヘッダーを出力する必要があります: header("Content-Type: text/html; charset=utf-8")
,これを静的ページ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
に追加します。すべてのファイルのエンコード形式は utf-8 です。 。
utf-8 で保存するのは少し面倒かもしれません。通常、utf-8 ファイルは先頭に BOM が付いています。セッションを使用すると問題があります。editplus で保存できます。editplus では、 [ツール] -> [パラメータの選択] - >[ファイル] -> [UTF-8 署名] に移動し、[常に削除して保存] を選択して BOM 情報を削除します。
2. PHP 自体は Unicode ではありません
substr などのすべての関数を mb_substr (mbstring 拡張機能をインストールする必要があります) に変更するか、iconv トランスコーディングを使用する必要があります。 。
2. PHP と Mysql 間のデータ対話
1. PHP とデータベースのコーディングは一貫している必要があります
変更mysql の設定 ファイル my.ini または my.cnf、mysql は utf8 でエンコードするのが最適です。
#2. 実行する必要がある PHP プログラムの前に mysql_query("set names 'encoding'")
# を追加します。データベース操作。
3. PHP はオペレーティング システムに関連しています
Windows と Linux のエンコーディングは異なります Windows 環境では、PHP 関数を呼び出すときに、パラメーターがutf-8 の場合、move_uploaded_file()、
filesize()、
readfile() などのエンコード エラーが発生します。これらの関数は、処理時によく使用されます。アップロードとダウンロード. 呼び出し時にエラーが発生する場合があります。
mb_convert_encoding(文字列, 新しいエンコーディング, 元のエンコーディング) または
iconv(元のエンコーディング, 新しいエンコーディング, 文字列) を使用すると、ファイル名が処理後に保存したファイルも文字化けせず、通常のファイル読み込みや中国語名のファイルのアップロード、ダウンロードも可能です。
move_uploaded_file() を呼び出すときに問題なく実行できます。 、ファイルを移動するだけで済みます。名前は元の中国語名に変更されました。ダウンロードを実装するコードは次のとおりです。
以上がPHPのWebページの中国語が文字化けするの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。