搜尋
首頁後端開發PHP問題php向資料庫插入資料出現亂碼問題

php向資料庫插入資料出現亂碼的解決方法:先將資料庫的編碼設為utf8;然後判斷要插入資料庫的文字編碼方式;最後透過switch語句實現資料判斷插入即可。

php向資料庫插入資料出現亂碼問題

推薦:《PHP影片教學》 

php向資料庫插入資料出現亂碼問題

一般插入到資料庫的資料亂碼都是編碼的問題,可以在插入資料庫前查看下內容的編碼方式,如果和資料庫用的編碼方式(如:utf-8)一樣就執行插入操作,不一樣就進行轉碼。

先判斷你要插入資料庫的文字的編碼方式,是utf-8就插入,不是的話要轉為utf-8之後再插入:

        $e=mb_detect_encoding($text, array('UTF-8', 'GBK', 'gb2312'));
        switch($e){
            case 'UTF-8' : //如果是utf8编码就直接插入数据库
                break;
            case 'GBK': //如果是gbk编码就转换为utf-8之后再插入数据库
            iconv("GBK", "UTF-8",$data) ;
            break;
            case 'GB2312': //如果是GB2312编码就转换为utf-8之后再插入数据库
            iconv("GB2312", "UTF-8",$data) ;
        break;
        }

本以為程式中的編碼和資料庫用的編碼保持一致就不會出現亂碼了,可是,插入資料庫的資料還是有亂碼出現,排除了編碼不一致之後,就想到可能是使用php連接mysql時沒有設定mysql編碼的緣故,果然,在連接資料庫之後將資料庫的編碼也設為utf8之後再進行資料庫插入操作就沒有亂碼了。

程式碼如下:

$this->conn = mysqli_connect($db['default']['hostname'], $db['default']['username'], $db['default']['password'], $db['default']['dbname']) or die('Connect error!'); //连接到数据库
mysqli_set_charset($this->conn, 'utf8'); //此处不能用utf-8

以上是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

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

熱門文章

熱工具

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具