When I was learning PHP and MySQL, when I used PHP to operate MySQL to insert data, I found that the Chinese characters were often garbled. When creating the database and database table, utf-8 encoding was specified. At the beginning, the html page was not set to utf-8 encoding. After setting the html page to
<meta http-equiv="content-Type" content="text/html;charset=UTF8">
and adding
header("Content-type:text/html; charset=utf-8");
to the PHP code, I found that the Chinese inserted into the database was still garbled.
I was puzzled and found out that after connecting to the database, I need to display and set the connection to use utf-8 encoding. . . .
<?php $sqldb = new mysqli("localhost", "root", "", "project"); if (mysqli_connect_errno()) { printf("Connect failed:%s\n", mysqli_connect_error()); exit(); } mysqli_query($sqldb, "set names utf8"); //utf8 设为对应的编码 ... mysqli_close($sqldb); ?>
Mysqli uses latin-1 encoding by default. When your page is encoded in utf-8, the page will be garbled.