在學習PHP與MySQL時,利用PHP操作MySQL插入資料時,發現插入中文時時亂碼,創建資料庫以及資料庫表時均制定了utf-8編碼,一開始是html頁並沒有設定為utf-8編碼,在將html頁面設定為
<meta http-equiv="content-Type" content="text/html;charset=UTF8">
以及PHP程式碼中加入
header("Content-type:text/html; charset=utf-8");
後,發現插入到資料庫的中文依然是亂碼。
百思不得其解,後經度娘發現,需要在連接資料庫後,顯示設定連接使用utf-8編碼。 。 。 。
<?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因為預設是latin-1編碼,當你的頁面時utf-8編碼是,就會產生頁面亂碼問題。