ホームページ >バックエンド開発 >PHPチュートリアル >phpで中国語の文字化けが挿入される問題を解決する mysql query_PHPチュートリアル

phpで中国語の文字化けが挿入される問題を解決する mysql query_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:11:44920ブラウズ

php mysqlクエリに中国語が文字化け挿入される問題を解決する

1.中国語の問題は実は一律にエンコードされていることであり、そうでないと文字化けしてしまいます

1. データベースとPHPページのコーディングが統一されています

2. データベースのデータテーブルのフィールドとページのコーディングが統一されています

上記2つができれば中国語文字化け問題は発生しないので、mysqlで中国語文字化け問題を解決する例を見てみましょう

1.私のmysqlテーブルは以下の通りです

--

--テーブル構造`useradmin`

--

コードは次のとおりです

`userain` が存在しない場合はテーブルを作成 (
`id` int(4) NOT NULL AUTO_INCREMENT,
`ユーザー名` varchar(20) DEFAULT NULL,
`userpass` varchar(40) DEFAULT NULL,
`logins` int(4) NOT NULL DEFAULT '0' COMMENT 'ログイン数',
`logintime` タイムスタンプが NULL ではありません DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`mid` char(1) NOT NULL デフォルト '0',
主キー (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=7 ;

上記はすべて utf8 でエンコードされているため、漢字をテストできます

コードは次のとおりです

`userain` (`id`、`I am Chinese`、`userpass`、`logins`、`logintime`、`mid`) の値を挿入
(1, '管理者', '7c1f03139281878059b909c42ccf2f6a', 0, '2010-04-14 14:20:26', '1');

普通に入力できると言いましたが、実際には、キーは SQL ステートメントではなく、次のように PHP が mysql データに接続するときのエンコーディング設定です。

ページはgbkとして編集されています

コードは次のとおりです

//mysqlデータベース接続パラメータを設定します
$db = mysql_connect("localhost", "ユーザー","パスワード");
mysql_select_db("メッセージ",$db);
//SQL文を実行する前に次の行を追加します

?>

データベースに接続後、送信が文字化けするか保存できない

コードは次のとおりです

このように再度送信すると、gbkで送信したページであっても送信したデータは正常に保存されていることがわかります

ps: ajax の場合、ajax はデータ送信に uft8 モードのみをサポートしているため、uft8 を使用する必要があります。

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/928039.html技術記事 php mysqlクエリに中国語の文字化けを挿入する問題を解決します。 1. 中国語の問題は、実際には均一にエンコードされているためです。そうでないと文字化けします。 1. データベースとphpページのエンコードが統一されています。 2. データベースのデータテーブルのフィールドとページ。 ..
//mysqlデータベース接続パラメータを設定します
$db = mysql_connect(www.45it.net, "ユーザー","パスワード");
mysql_select_db("メッセージ",$db);
//SQL文を実行する前に次の行を追加します

mysql_query("SET NAMES 'utf8'",$db);

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