首頁 > 後端開發 > PHP問題 > php資料儲存到資料庫亂碼怎麼解決

php資料儲存到資料庫亂碼怎麼解決

PHPz
發布: 2023-04-06 10:38:02
原創
628 人瀏覽過

在 PHP 開發過程中,會經常涉及將資料儲存到資料庫中。但是,有時候會出現儲存資料到資料庫出現亂碼的情況。本篇文章將著重介紹 php 資料保存到資料庫亂碼的問題,以及解決方法。

一、問題出現的原因

在 PHP 更新 MySQL 資料庫的時候,如果 PHP 和 MySQL 的字元集不一致,就有可能出現亂碼問題。針對此問題,需要在程式碼中指定正確的字元集。

二、解決方法

  1. 修改MySQL 資料庫字元集
  • 方法一:在MySQL 資料庫中修改字元集

可以在MySQL 資料庫中透過以下指令修改字元集

SET NAMES 'utf8mb4';
登入後複製

該指令只對目前連線有效,如果需要永久修改,需要在MySQL 設定檔中修改。修改方式如下:

[mysqld]
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
登入後複製
  • 方法二:在php 程式碼連接資料庫時修改字元集
##在連接資料庫時加上一句程式碼即可:

mysqli_set_charset($mysqli, "utf8mb4");
登入後複製
    修改PHP 中字元編碼
在PHP 中使用函數

header()可以設定http頭,如下:

header("Content-type:text/html;charset=utf-8");
登入後複製
這樣設定後所有輸出到瀏覽器的字元集都是utf-8 的。

在 PHP 中,也可以指定資料儲存到資料庫的編碼方式:

mysqli_query($link, "SET NAMES 'utf8mb4'");
登入後複製
其中,

$link 是連接 MySQL 資料庫的物件。

    檢查資料表的字元集
在建立資料表時,需要指定字元集:

CREATE TABLE `mytable`(`id` INT, `name` VARCHAR(50)) DEFAULT CHARSET=utf8mb4;
登入後複製
    在網頁中指定字符集
在html 的head 中加上以下程式碼:

<meta charset="UTF-8">
登入後複製
這樣設定後所有顯示的字元集都是UTF-8。

總結:

PHP 資料儲存到資料庫亂碼問題雖然比較常見,但其實只要搞清楚問題的原因,就可以透過以上的解決方法輕鬆解決。同時,在開發過程中應盡可能使用 utf8mb4 字元集。

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

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板