php連mysql用utf 8編碼亂碼怎麼辦

2022-03-10 01:35:55 字數 3909 閱讀 2365

1樓:萌態百出

如果設定了set names utf8還是亂碼的話,你需要看看資料庫的編碼格式了,亂碼產生的原因,是因為存放時的編碼和取出資料展示的編碼不一致,導致的不能正常顯示,你先檢視資料庫的編碼合適,存放資料庫開始檢查

2樓:匿名使用者

有如下四個步驟,都需要檢查下

借助 notepad++ 把 .sql 檔案的編碼格式改成 utf8替換 mysql 的 my.cnf 檔案 並加入指定字符集的語句使用終端命令重新匯入 .sql 檔案

各種重啟 清除瀏覽器快取

3樓:匿名使用者

首先你要檢查你得庫編碼如果你庫得編碼是gbk或者其他 即使你給它傳遞了編碼資訊也無濟於事

而庫編碼為utf-8 讀取出來亂碼

首先檢測文件編碼是否為utf-8無bom 或者utf-8bom型~如果也是那麼則給資料庫傳遞預設編碼為utf-8傳遞方式見php參考手冊裡mysql或mysqli介紹或者sql語句set names utf8

4樓:

mysqli_query($conn,'set names utf8');

5樓:行不行丶看自己

你可以在編輯器裡先設定好編碼格式

php連mysql資料庫編碼問題

6樓:匿名使用者

也許是資料庫的問題,我也遇到過,我用的是wampserver,介面的工具,直接點滑鼠就可能建成mysql資料庫,建成後匯入資料,查詢資料庫返回面而的是亂碼,我遇到的情況是這樣的:

1、建庫用gbk,如圖。

2、匯入表及資料時,預設是utf,此處要改成gbk就不是亂碼了,如第圖底頁面,如果是預設的或是其它的字符集,能匯入成功但是亂碼。另外直接把sql貼上到sql視窗,也不是亂碼。

希望能幫到你,呵呵~

7樓:匿名使用者

'db_charset'=>'utf-8',// 資料庫編碼預設採用utf8

改為'db_charset'=>'utf8',// 資料庫編碼預設採用utf8

php的資料庫編碼是utf8

8樓:宇宙大師之一

可以使用 mysql_query("set names 'utf8'"); 語句來設定要使用的資料編碼,它的意思是資料使用utf8編碼;

語法說明如下:

set names 'charset_name'

set names顯示客戶端傳送的sql語句中使用什麼字符集。

charset_name 要使用的字符集

例如:$con = mysql_connect(db_server, db_server_username, db_server_password) or die('can not connect server!'); //連線資料庫

mysql_select_db(db_database); //選擇資料庫

mysql_query("set names 'utf8'"); //設定要使用的字符集

9樓:匿名使用者

應該不是資料庫連線的問題.

在你的程式中頭上載入這麼一句:

header("content-type: text/html; charset=gb2312");

一般會解決此問題.

10樓:匿名使用者

function connect($host,$username,$pwd,$port="3306")

試試這樣行不行

php向mysql資料庫插入的utf8編碼的中文變成亂碼

11樓:虎爺可樂

**是沒發現問題了,看你的表字段是不是定義的 utf8 編碼了

12樓:審計拍

你這幾個函式是原生的php函式麼 貌似不是吧

php顯示mysql資料亂碼,字符集設定都是utf8,資料庫也是utf8,一直找不到問題在**,**見詳細,求大神

13樓:隴行

php+mysql的utf-8中文亂碼問題的解決方法

問題彙總:

1.mysql資料庫預設的編碼是utf8,如果這種編碼與你的php網頁不一致,可能就會造成mysql亂碼.

2.mysql中建立表時會讓你選擇一種編碼,如果這種編碼與你的網頁編碼不一致,也可能造成mysql亂碼.

3.mysql建立表時新增欄位是可以選擇編碼的,如果這種編碼與你的網頁編碼不一致,也可能造成mysql亂碼.

4.使用者提交頁面的編碼與顯示資料的頁面編碼不一致,就肯定會造成php頁面亂碼.

5.如使用者輸入資料的頁面是big5碼, 顯示使用者輸入的頁面卻是gb2312,這種100%會造成php頁面亂碼.

6.php頁面字符集不正確.

7.php連線mysql資料庫語句指定的編碼不正確.

使用mysql+php產生亂碼的原因都了解得很清楚了,那麼解決就不困難了.

針對不同問題的解決方法:

1.mysql資料庫預設的編碼是utf8,如果這種編碼與你的php網頁不一致,可能就會造成mysql亂碼.

修改資料庫編碼,如果是資料庫編碼不正確,可以在phpmyadmin 執行如下命令:

alter database 'test' default character set utf8 collate utf8_bin

以上命令就是將test資料庫的編碼設為utf8.

2.mysql中建立表時會讓你選擇一種編碼,如果這種編碼與你的網頁編碼不一致,也可能造成mysql亂碼.

修改表的編碼:

alter table 'category' default character set utf8 collate utf8_bin

以上命令就是將乙個表category的編碼改為utf8.

3.mysql建立表時新增欄位是可以選擇編碼的,如果這種編碼與你的網頁編碼不一致,也可能造成mysql亂碼.

修改欄位的編碼:

alter table 'test' change 'dd' 'dd' varchar( 45 ) character set utf8 collate utf8_bin not null

以上命令就是將test表中 dd的字段編碼改為utf8.

4.使用者提交頁面的編碼與顯示資料的頁面編碼不一致,就肯定會造成php頁面亂碼.

如果是這種情況容易解決,只需檢查下頁面,修改原始檔的charset即可.

5.如使用者輸入資料的頁面是big5碼, 顯示使用者輸入的頁面卻是gb2312,這種100%會造成php頁面亂碼.

這種情況也是修改頁面charset即可.

6.php頁面字符集不正確.

為了避免php頁面亂碼的發生,php頁面開始第一句

header("content-type:text/html; charset=utf-8");

//強行指定頁面的編碼,以避免亂碼

7.php連線mysql資料庫語句指定的編碼不正確.

在連線資料庫的語句中.

mysql_connect('localhost','user','password');

mysql_select_db('my_db');

mysql_query("set names 'utf8'"); //select 資料庫之後加多這一句

php插入mysql資料庫中文變成亂碼 問號

14樓:℡媙の綺

去mysql裡面設定,不要在php裡設定mysql的編碼,亂碼肯定就是編碼問題無疑,推薦你先把mysql裡面表的編碼改好,然後再把php的編碼改好,這樣就應該沒問題了。

15樓:匿名使用者

欄位和表結構改成 utf8_general_ci 編碼

php中怎麼實現點選按鈕然後從MYSQL中刪除對應行的資料

比如現在我想傳到admin.php 頁面 傳遞的資料是 id 22 page 1 不需要這麼煩的吧 刪除 在admin.php頁面 用 id get id 就可以得到id的值 page同理 無重新整理操作,可以用jquery.ajax來操作。快下班了,就簡單地寫一段給你試試。假設你的刪除按鈕是 這裡...

兄弟連php就業前景怎麼樣,兄弟連PHP就業前景怎麼樣

時光荏苒,不知不覺學習php已經乙個月了.乙個月的時間讓我學會了很多,也收穫了很多 在來這裡參加php培訓班之前,我自學了乙個多月php,天天在琢磨課本上的那些看不懂的 照著書上寫了很多 可測試執行,總是報錯,可又不知道自己錯在什麼地方。心裡非常焦躁,也受到了打擊。後來經朋友的介紹千峰教育的課程是以...

如何用php在mysql的日期型資料中寫入NULL

插入mysql insert into test name intime values njdel null query ok,1 row affected 0.01 sec 修改mysql update test set intime null where name njdel limit 1 q...