色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

mysql 查詢存入數(shù)據(jù)庫亂碼

謝彥文2年前8瀏覽0評論

對于許多MySQL用戶,在查詢數(shù)據(jù)存入數(shù)據(jù)庫時可能經(jīng)常遇到亂碼問題。MySQL存入亂碼的原因有很多,比如數(shù)據(jù)庫字符集與客戶端字符集不一致、應用服務器與數(shù)據(jù)庫服務器字符集不同、數(shù)據(jù)庫中文字段沒有設置utf8字符集等等。下面我們來逐一解析具體原因,并給出相應解決方法。

// 示例代碼:
$mysqli = new mysqli("localhost","username","password","database");
if(mysqli_connect_errno()){
printf("連接數(shù)據(jù)庫失敗:%s\n",mysqli_connect_error());
exit;
}
$mysqli->set_charset("utf8");//設置字符集
$sql = "INSERT INTO table_name (field1,field2) VALUES ('value1','value2')";
$result = $mysqli->query($sql);
if(!$result){
printf("插入數(shù)據(jù)失敗:%s\n",$mysqli->error);
exit;
}
$mysqli->close();

1、數(shù)據(jù)庫字符集與客戶端字符集不一致
解決方法:先查詢當前使用的字符集,再把客戶端和數(shù)據(jù)庫服務器的字符集都設置成相同的,如下:

// 查詢數(shù)據(jù)庫字符集
SHOW VARIABLES LIKE 'character_set_database';
// 查詢客戶端字符集
SHOW VARIABLES LIKE 'character_set_client';
// 設置客戶端字符集
SET character_set_client = utf8;
// 設置數(shù)據(jù)庫字符集
ALTER DATABASE your_database_name CHARACTER SET utf8 COLLATE utf8_general_ci;

2、應用服務器與數(shù)據(jù)庫服務器字符集不同
解決方法:在應用服務器連接MySQL數(shù)據(jù)庫時指定字符集,如下:

$mysqli = new mysqli("localhost","username","password","database");
if(mysqli_connect_errno()){
printf("連接數(shù)據(jù)庫失敗:%s\n",mysqli_connect_error());
exit;
}
$mysqli->set_charset("utf8");//設置字符集

3、數(shù)據(jù)庫中文字段沒有設置utf8字符集
解決方法:把數(shù)據(jù)庫表中的中文字段都設置成utf8字符集。

通過上述方法,MySQL查詢存入亂碼的問題應該可以解決了。當然,具體解決方法要根據(jù)實際情況而定。