Home > Article > Backend Development > Urgent, urgent, vomiting blood, please help.
php Chinese characters are garbled, Chinese characters are garbled when entering the database
When writing Chinese character data into the database, there will be garbled characters, that is, when you use mysql to query, there will be characters like ???.
The root cause of this situation is that the mysql database is not explicitly told that the data to be inserted is of gbk type.
Solution:
Define the character type when querying:
mysql_query("set names 'gbk'")
The following is a complete example for your reference.
<?php /* @中文字符入库乱码的解决方法 @www.php.cn */ include_once("conn.php"); include_once("include.php"); mysql_query("set names 'gbk'")or die("设置字符库失败\n"); mysql_select_db($db)or die("连接数据库失败!\n"); $exec = "select * from $table"; //echo $exec; $result = mysql_query($exec,$conn)or die("查询数据库失败\n"); echo "<table border=2>"; for($cout=0;$cout<mysql_numrows($result);$cout++) { $city = mysql_result($result,$cout,city); $name = mysql_result($result,$cout,name); $phone = mysql_result($result,$cout,phone); echo "<tr>"; echo "city: $city"; echo "name: $name"; echo "phone: $phone"; echo "</tr>"; } echo "</table>"; ?>