在學習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編碼是,就會產生頁面亂碼問題。