ホームページ >バックエンド開発 >PHPチュートリアル >少量の文字化けが発生するのはなぜですか?

少量の文字化けが発生するのはなぜですか?

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

この投稿は、u011263669 によって、2013-08-20 19:33:32 に最終編集されました

当社の Web サイトは、zencart 電子商取引 Web サイトです
Web サイト上のすべてのファイル形式は、BOM エンコード形式なしの utf-8 です
データを入力するときウェブサイトにアクセスし、sql: "set names utf8" を実行します
データベース内のデータテーブルはすべて utf8 形式です

ただし、一部の外国人ユーザーが当ウェブサイトに情報を登録または編集すると、データベースに入るときに文字化けが発生します。この状況の割合は約 5% です。なぜ文字化けが発生してしまうのでしょうか?どうやって対処すればいいのでしょうか?

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

閲覧時のブラウザのWebページのエンコードがutf8ではないか、翻訳されて閲覧されている可能性があります。 JavaScript を使用してクライアントのエンコーディングを取得できます

utf8_general ロシアの少数民族など、少数の未収集のキャラクターもあります。しかし、この理由の可能性は極めて低く、5% にも満たない。

文字化けが発生する場合は、エンコードの問題です。
データは郵送でデータベースに送信されますか?

それは、ajax ポスト送信の使用に関連していますか?
http://www.persunmall.com
当社の Web サイト、Ajax の送信に問題があるかどうかを確認するのを手伝ってもらえますか?

登録時に、ajax を送信してアカウントを生成します

2 つの解決策:
1. ajax を送信するときに、+encodeURIComponent メソッドを使用してエンコードします。
2. PHP 側は、送信が utf8 エンコーディングであるかどうかを確認できます。
確認方法 http://www.bo56.com/%E4%BD%BF%E7%94%A8%E6%AD%A3%E5%88%99%E6%A3%80%E6%B5%8B% E6%98%AF%E5%90%A6%E4%B8%BAutf8%E7%BC%96%E7%A0%81/

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