當前位置:首頁 » 編程語言 » php從資料庫讀取數據亂碼

php從資料庫讀取數據亂碼

發布時間: 2022-08-04 08:10:52

php資料庫中讀出 亂碼

從你的截圖來看應該資料庫讀取的數據沒有問題,問題有可能出在你的前台顯示上面,在頁面輸入的時候是不是對應的欄位取得有問題。或許你去的東西根本就沒有存在於讀出的數組中。

Ⅱ PHP在顯示資料庫中的中文數據時顯示亂碼

其實,只要注意文件編寫的時候編碼、資料庫的編碼一般就不會有這個問題的,但是,比如你用DW(dwcs4貌似沒有這個現象)打開文件,它會以默認的編碼讀取,一旦你保存了,那就完了,用EditPlus打開之後,右下角有編碼提示,如果發現不對,另存為,覆蓋一下,就可以了

Ⅲ 為什麼 資料庫提取中文是亂碼

從後台讀取數據時,通常會出現亂碼情況,比如「漢字」變成「?」等,造成這種情況的原因通常是編碼設置不對,解決方法如下:


第一種方法:在php中添加如下代碼,將編碼格式設為「utf-8」,代碼如下:


header("Content-Type: text/html; charset=UTF-8");


第二種方法:在php中添加另外一行代碼,同樣用來轉碼,代碼如下:


$conn = mysqli_connect($servername, $username, $password, $mysqlname);

$conn->query("SET NAMES utf8");


該種情況是先創建鏈接,之後再轉碼。


另外,在使用資料庫時,直接手動(非代碼)建表,通常會在表中輸入漢字時,瀏覽時無法顯示或顯示為「?」,造成這種情況的原因也是編碼問題,解決方案如下:


在建表或建庫時,表和庫的編碼格式一定要統一,設置成:「utf8_general_ci」,如下圖:

Ⅳ php讀取mysql中文數據出現亂碼的解決方法

1.PHP頁面語言本身的編碼類型不合適,這時候,你直接在腳本中寫的中文肯定是亂碼,不用說資料庫了
解決方法:選擇'UTF8'或者'gb2312',這樣客戶瀏覽器會自動選擇並出現正確的中文顯示。注意:'UTF8'或者'gb2312'都可以正確顯示中文的。
2.資料庫MySQL中的編碼類型不正確。
解決方法:創建資料庫的時候,MySQL
字元集選擇'UTF8',MySQL
連接校對選擇utf8_general_ci,這樣創建的資料庫用來存儲中文肯定沒有問題,
否則,你的中文首先在MySQL中就是亂碼,更不要期望它會給你在PHP頁面中顯示正確。
3.與平時的腳本編輯環境有關。比如,有些內容是自己用word寫的,有些是用記事本寫的,有些用editplus、ultraplus等文本編輯器。有時候就直接在DW中寫中文了,
解決方法:盡量用同一種編輯器。如果是拷貝來得既有的內容,建議用ultraplus中的編碼轉換功能把它轉換成utf8或者gb2312。
到底轉換成什麼類型並不重要,關鍵要求你的PHP
WEB應用程序中的編碼要一致就行。
4.編程訪問
MySQL時,建議添加一行代碼:mysql_query("SET
NAMES
'GBK'");

Ⅳ php讀取mysql資料庫,輸出的內容顯示亂碼

數據載入的時候是亂碼還是正常,是從別人機器上導出數據自己恢復的嗎?
查看下資料庫的字元集編碼,show
vaiables
like
'%char%'
查看下字元集
使用下latin1
因為他是默認的
,不行就把資料庫刪了重新建立在導入數據

Ⅵ 請教用PHP從資料庫中取出的中文是亂碼該怎麼處理

我不是搞php的,但是我覺得更多的原因在於資料庫。
就像建立mysql數據時會選擇編碼類型,很有可能因為編碼類型不匹配的原因不支持中文字元

Ⅶ PHP mysql 如何將從數據中讀入的中文亂碼轉換成中文字元

要解決亂碼首先需要知道出現亂碼的原因:
一、PHP+MySQL出現中文亂碼的原因。
1. MYSQL資料庫的編碼是utf8,與PHP網頁的編碼格式不一致,就會造成MYSQL中的中文亂碼。
2. 使用MYSQL中創建表、或者選擇欄位時設置的類型不是utf8,而網頁編碼不是utf8,也可能造成MYSQL中文亂碼.
3. PHP頁面的字元集與資料庫的編碼不一致。
4. PHP連接MYSQL資料庫,操作是設定的語句指定的編碼和頁面編碼,PHP頁面編碼不一致。
5. 用戶提交的HTML頁面編碼,和顯示數據的頁面編碼不一致 ,就肯定會造成PHP頁面亂碼.
二、解決中文亂碼:
1. 網頁編碼設置。一般在HTML代碼中的文件頭<html>中加入屬性:
<meta http-equiv=」Content-Type」 content=」text/html; charset=utf-8″>
保證,網頁是"utf-8"編碼。
2. PHP代碼設置。在php代碼的開始部分加入以下代碼:
header(」Content-type: text/html;charset=utf-8″);
且要求保存的文件編碼方式是utf-8,這樣就保證了該文件也是utf-8編碼。
3. 資料庫中表的欄位中存儲中文的部分,要設置為utf8_general_ci類型。
4.PHP在連接資料庫操作時,要設置操作的欄位類型為utf8,設置方法如下:
mysql_connect(』localhost』,'user』,'password』);mysql_select_db(』db』);mysql_query(」set names utf8;」); //**設置字元集***

Ⅷ 用PHP從資料庫中取出的中文是亂碼,怎麼處理能使中文正常顯示

資料庫採用UTF8編碼,而頁面申明編碼是GB2312,這是最常見的產生亂碼的原因。這時候在PHP腳本裡面直接SELECT數據出來的就是亂碼,需要在查詢前先使用:mysql_query("SET NAMES GBK");或mysql_query("SET NAMES GB2312");來設定MYSQL連接編碼,保證頁面申明編碼與這里設定的連接編碼一致(GBK是GB2312的擴展)。如果頁面是UTF-8編碼的話,可以用:mysql_query("SET NAMES UTF8"); 注意是UTF8而不是一般用的UTF-8。假如頁面申明的編碼與資料庫內部編碼一致可以不設定連接編碼。
事實上MYSQL配置文件my.ini中定義了2個默認編碼,分別是[client]里的default-character-set和[mysqld]里的default-character-set來分別設定默認時候客戶端連接和資料庫內部所採用的編碼。上面指定的編碼其實是MYSQL客戶端連接伺服器時候的命令行參數character_set_client,來告訴MYSQL伺服器接受到的客戶端數據是什麼編碼的,而不是採用默認編碼。
轉自:http://hi..com/delicious/item/37c18cf457dc142a753c4c0c

Ⅸ php如何解決查詢出來的數據是亂碼問題

亂碼一直是困擾PHP初學者的一個非常大的問題,現在總結下造成亂碼的原因及解決方法:

一、HTML頁面編碼:meta http-equiv=content-type content=text/html; charset=utf-8 這里的編碼要和資料庫編碼,及連接資料庫編碼;
二、文件在存儲編碼:比如文件inde.php,改變其存儲編碼為所需編碼。只需用EditPlus等文本編輯軟體 文件另存為,在編碼中選擇正確的編碼(這點很多人都會忽略);

三、資料庫編碼:比如用的是phpmyadmin 選擇資料庫後,選擇操作選項。下面有一個整理,這裡面也要設置成統一的編碼;

四、表編碼:操作和第三點類似。這里就不重復了;
五、欄位編碼:在建表的建欄位的時候,有個整理。如果內容有漢字,就一定要改成統一的編碼;

六、連接資料庫時mysql_select_db()後面,要加一句 mysql_query( set names utf8 );
七、 (剛遇到的)本地測試成功後的網站,傳到網上去,會有亂碼。可能會是在本地導出數據時沒有選擇正確的編碼,所以才會在導入到web上後有亂碼問題。

熱點內容
特斯拉在哪裡輸入密碼 發布:2025-01-23 04:05:29 瀏覽:205
影視腳本創作 發布:2025-01-23 04:00:39 瀏覽:844
cmd腳本執行sql腳本 發布:2025-01-23 03:46:51 瀏覽:115
搭建100人的游戲伺服器 發布:2025-01-23 03:37:43 瀏覽:517
b站台解析伺服器ip 發布:2025-01-23 03:36:12 瀏覽:203
安卓手機在哪裡看港劇 發布:2025-01-23 03:35:30 瀏覽:52
黑漫的伺服器ip 發布:2025-01-23 03:16:40 瀏覽:651
tplink無internet訪問 發布:2025-01-23 03:15:18 瀏覽:567
原神用安卓手機玩為什麼畫質那麼低 發布:2025-01-23 03:09:31 瀏覽:848
空調壓縮機是外機嗎 發布:2025-01-23 03:09:31 瀏覽:951