首頁 後端開發 PHP問題 php插入資料中文亂碼資料給資料庫怎麼解決

php插入資料中文亂碼資料給資料庫怎麼解決

Apr 10, 2023 am 09:44 AM

PHP是一種流行的開源腳本語言,主要用於Web開發。當我們在使用PHP進行開發時,可能會遇到中文亂碼的問題,尤其是在資料庫插入中文資料時。這篇文章將向大家介紹如何在PHP中避免這種情況的發生。

  1. 設定字元編碼

當我們在連接資料庫時,需要設定資料庫字元集與PHP腳本的字元集一致,否則插入中文資訊會出現亂碼。我們在連接資料庫時加入以下程式碼:

$con=mysqli_connect("localhost","my_user","my_password","my_db");
mysqli_query($con,"SET NAMES utf8");
登入後複製
  1. 堅持使用UTF-8編碼

UTF-8是一種多位元組編碼,支援Unicode字元集。使用UTF-8編碼可以確保資料庫中包含中文的資料能夠正確插入。我們可以透過以下方法來檢查PHP檔案是否為UTF-8編碼:

$encoding = mb_detect_encoding($str, "UTF-8,GBK,GB2312,BIG5");
登入後複製

如果傳回的$encoding是“UTF-8”,則PHP檔案正是UTF-8編碼。

  1. 使用PHP函數轉義字串

在執行SQL語句時,我們需要使用函數將字串轉換為SQL安全字串,從而確保資料庫的數據安全性。 PHP提供了轉義字串的函數-mysqli_real_escape_string()。我們在插入新資料之前將字串轉義即可。

$name=mysqli_real_escape_string($con,$_POST['name']);
$sql="INSERT INTO TABLE_NAME(name) VALUES('$name')";
mysqli_query($con,$sql);
登入後複製
  1. 使用PHP Data Objects(PDO)

#PDO是一個PHP的資料庫抽象層,可以支援多種資料庫。在使用PDO時,我們可以為資料庫連接設定字元編碼,並使用PDO::quote()函數進行轉義。

$dsn = "mysql:host=localhost;dbname=myDatabase;charset=utf8";
$username = "username";
$password = "password";
$options = array(
    PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
    PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
    PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8",
);

try {
    $pdo = new PDO($dsn, $username, $password, $options);
    $name = $pdo->quote($_POST['name']);
    $sql = "INSERT INTO TABLE_NAME(name) VALUES($name)";
    $pdo->exec($sql);
} catch (PDOException $e) {
    echo "Error: " . $e->getMessage();
    die();
}
登入後複製

在使用php insert時,如果遇到中文亂碼問題,我們可以透過上述方法來解決。正確的字元編碼設定、字串轉義以及PDO使用可以確保無論何時,我們都能成功將中文資料插入資料庫。

以上是php插入資料中文亂碼資料給資料庫怎麼解決的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1665
14
CakePHP 教程
1424
52
Laravel 教程
1322
25
PHP教程
1270
29
C# 教程
1250
24