ホームページ  >  記事  >  バックエンド開発  >  mysql から中国語を抽出するときに問題が発生します

mysql から中国語を抽出するときに問題が発生します

WBOY
WBOYオリジナル
2016-06-23 14:08:27857ブラウズ

メールクライアントを作成しました。メールの内容は html、メールヘッダーのエンコードは utf8、html ヘッダーのエンコードは gb2312 です。 Navicat で見た内容の中国語は正しかったのですが、PHP プログラムで読み出すときに問題が発生したため、データベースを読み込む前にセット名 GBK を追加したところ、正しく読み上げられました。ますます困惑しています。プログラムでデータベースに書き込む前に、メールの内容は utf8 である必要があります。助けてください。理解できません


ディスカッションへの返信 (解決策)

ライブラリを挿入する前に set names utf8 を実行しましたか?php ファイルも utf-8 エンコーディングとして保存されました。

ライブラリを挿入する前に set names utf8 を実行しましたか? PHP ファイルも utf-8 エンコーディングとして保存されます。 ライブラリを挿入する前に正しいエンコーディングが設定されていないと、Navicat で表示したときに文字化けしますよね。挿入前にセット名を実行するためにメールで指定されたエンコーディングに依存しました プロジェクトのエンコーディングは utf8 です
また、メールヘッダーファイルの文字セットが html の文字セットと異なる理由もわかりません

件名: = ?UTF-8 ?B?M+aciOenr+WIhuaciOe7k+WNlQ==?=
Content-Type: text/html;
charset="utf-8"
Content-Transfer-Encoding: quote-printable
日付: 火曜日26 Mar 2013 05 :09:07 +0100

w3.org/TR/xhtml1/ DTD/xhtml1-transitional.dtd">


>

ライブラリを挿入する前に正しいエンコーディングを設定しておかないと、Navicat で表示すると文字化けしますよね。
それは必ずしも真実ではありません。gbk データを挿入しているため、navicat はデフォルトで gbk エンコードを使用する可能性があります。だからそれが普通なんです。

それはやはり名前の設定方法によって異なります。

文字セット宣言は単なるラベルです

文字セット宣言は単なるラベルです
神様を崇拝してください~

あなたのページのエンコーディングは何ですか?

すべて utf-8 に変更します

文字化けが表示される場合は、エンコードの問題です。エラーが発生している場所を確認してください。

全部 gb2312 に変更してみてください

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。