php insert mysql 文字化けの解決策: 1. PHP ページを UTF-8 エンコード形式で保存します; 2. データを UTF8 形式で送信します; 3. データベース utf8 に "ENGINE=MyISAM DEFAULT CHARSET=" を設定します。 。
この記事の動作環境: Windows 7 システム、PHP バージョン 7.1、Dell G3 コンピューター。
php insert mysql の文字化けの問題を解決するにはどうすればよいですか?
phpによってmysqlデータベースに挿入される中国語の文字化けの問題の解決策
今日、システムを再インストールし、PHPオペレーティング環境を再インストールしました。あまり気にしすぎないように、何か書いて見直してみようかなと思ったのですが… INSERT INTO を使ってデータテーブルにデータを追加したところ、中国語のデータに限り文字化けして表示されてしまいました。 , そこで、Web ページの言語を gbk に指定しましたが、それでも機能しないことがわかりました。インターネットで長い間検索した後、要約を作成しました:
1.php ページを保存する必要がありますUTF-8エンコード形式で。
2.php はデータを送信するときに UTF8 を使用する必要があります。
3. MYSQL でテーブルを作成するときは、ENGINE=MyISAM DEFAULT CHARSET=utf8;
例を使用します (書くのが面倒なので、インターネット上のこの例は非常に明確だと思います):
テーブルの構築:
Create TABLE `net_city` ( `cityid` smallint(4) NOT NULL auto_increment, `cityname` varchar(80) NOT NULL default '', `provinceid` smallint(2) NOT NULL default '0', `inarea` varchar(5000) NOT NULL default '', `outarea` varchar(5000) NOT NULL default '', `tel` varchar(400) NOT NULL default '', PRIMARY KEY (`cityid`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
PHP のコード:
$conn=mysql_connect("localhost", "用户名", "密码"); mysql_query("set names 'utf8'",$conn); mysql_select_db("数据名",$conn); $exec="insert into net_city (cityname,inarea,outarea,tel) values ('".$link_cityname."','".$link_inarea."','".$link_outarea."','".$link_tel."')"; $result=mysql_query($exec,$conn); if($result){ echo "1"; }else{ echo "0"; } mysql_close($conn);
後ですべてに gbk を使用してみましたが、問題ありませんでした~
推奨される学習: 「PHP ビデオ チュートリアル 」
以上がphp insert mysqlの文字化け問題を解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。