PHPのWebページの中国語が文字化けする

王林
リリース: 2023-02-24 12:54:02
オリジナル
7551 人が閲覧しました

PHPのWebページの中国語が文字化けする

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 でエンコードするのが最適です。

PHPのWebページの中国語が文字化けする

#2. 実行する必要がある PHP プログラムの前に mysql_query("set names 'encoding'")# を追加します。データベース操作。

##エンコーディングは php エンコーディングと一致しています。php エンコーディングが gb2312 の場合、mysql エンコーディングは gb2312 です。utf-8 の場合、mysql エンコーディングは utf8 です。データの挿入や取得時に文字化けが発生しません。

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

Windows と Linux のエンコーディングは異なります Windows 環境では、PHP 関数を呼び出すときに、パラメーターがutf-8 の場合、

move_uploaded_file()filesize()readfile() などのエンコード エラーが発生します。これらの関数は、処理時によく使用されます。アップロードとダウンロード. 呼び出し時にエラーが発生する場合があります。

Linux 環境で gb2312 エンコードを使用する場合、これらのエラーは発生しませんが、保存されたファイル名が文字化けし、ファイルを読み込むことができなくなります。この場合、まずパラメーターを gb2312 エンコードで認識されるエンコードに変換することができます。

mb_convert_encoding(文字列, 新しいエンコーディング, 元のエンコーディング) または iconv(元のエンコーディング, 新しいエンコーディング, 文字列) を使用すると、ファイル名が処理後に保存したファイルも文字化けせず、通常のファイル読み込みや中国語名のファイルのアップロード、ダウンロードも可能です。

実際には、より良い解決策があります。それはシステムから完全に分離することであり、システムのエンコーディングを考慮する必要はありません。ファイル名として文字と数字だけを並べたものを生成し、漢字を含む元のファイル名をデータベースに保存しておくと、

move_uploaded_file() を呼び出すときに問題なく実行できます。 、ファイルを移動するだけで済みます。名前は元の中国語名に変更されました。ダウンロードを実装するコードは次のとおりです。

PHPのWebページの中国語が文字化けする

最終的には、実際に php ページを変更して出力ヘッダーを追加できます。

PHPのWebページの中国語が文字化けする

推奨チュートリアル:

PHP ビデオ チュートリアル

以上がPHPのWebページの中国語が文字化けするの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!