php讀取mysql資料庫的內容後顯示為亂碼,中文變成問號怎

2021-05-02 04:01:01 字數 3212 閱讀 8352

1樓:

換成utf8肯定不行,因為是問號,肯定不是三位元組到兩位元組 的問題,而是和拉丁1有關,因為問號是不可能轉換的意思 ,失敗了,

解決:你需要 按資料流入的程式再配置好,再原路返回,,再換重新建庫,匯入 ,,ok

順便說一下,出的分太少了

2樓:匿名使用者

$hostname_conn = "localhost";

$database_conn = "db";

$username_conn = "dbname";

$password_conn = "dbpwd";

$conn = mysql_connect($hostname_conn, $username_conn, $password_conn) or trigger_error(mysql_error(),e_user_error);

mysql_select_db('testdb');

mysql_query("set names 'utf8'");//********

在你的連線資料庫配置檔案中,記得加上最後帶『****』這句,就解決了了

我和你情況一樣,讀取中文出現『?』。

3樓:匿名使用者

你找下這段,把 gbk換成utf-8

如果是utf-8就換成gbk

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

4樓:℡媙の綺

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

從jsp頁面讀取資料庫 中文變成問號 mysql 5

5樓:育知同創教育

從jsp頁面讀取資料庫操作mysql變成問號是因為編碼問題導致。

1.架設伺服器安裝mysql時的會讓你選擇一種編碼,如果這種編碼與你的網頁不一致,可能就會造成jsp頁面亂碼.

解決方案:如果安裝mysql的編碼已不能更改,很多朋友是購買虛擬主機建立**,無權更改mysql的安裝編碼,這一關我們可以跳過,因為只要後面的步聚正確,一樣能解決亂碼問題

2.在phpmyadmin或mysql-front等系統 建立資料庫時會讓你選擇一種編碼,如果這種編碼與你的網頁不一致,也有可能造成jsp頁面亂碼.

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

alter database `test` default character set utf8 collate utf8_bin 。這個命令就是將test資料庫的編碼設為utf8

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

解決方案:修改表的編碼:

alter table `category` default character set utf8 collate utf8_bin

這個命令就是將乙個表category的編碼改為utf8

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

解決方案:修改欄位的編碼:

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

這個命令就是將test表中 dd的字段編碼改為utf8

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

解決方案:如果是這種情況容易解決,只需檢查一下頁面,修改原始檔的charset即可。如使用者輸入資料的jsp頁面是big5碼, 顯示使用者輸入的jsp頁面卻是gb2312,這種100%會造成jsp頁面亂碼

6.字符集不正確

解決方案:要注意:

1>.平時你在某些**看到的文字可能有幾種編碼, 如你看到乙個繁體字,它有可能是big5編碼,也有 可能是utf-8編碼的,更有可能是gb碼的,沒錯,也就是說有簡體編碼的繁體字,也有繁體編碼的簡體字,一定要了解這一點.

2>.如果你是做乙個簡體編碼的網頁,編碼定為gb2312,如果有香港和台灣地區的訪客提交繁體的資訊,就可能會造成亂碼,解決方法就是(a)將**編碼設為utf-8,這樣可以相容世界上所有字元, (b)如果**已經運作了好久,已有很多舊資料,不能再更改簡體中文的設定,那麼建議將頁面的編碼設為gbk,gbk與gb2312的區別就在於:gbk能比gb2312顯示更多的字元,要顯示簡體碼的繁體字,就只能用gbk

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

解決方案:在jsp連線資料庫的語句中,帶上

但是千萬不要犯和我同樣的錯誤哦。

8.jsp頁面沒有指定資料提交的編碼,就會造成亂碼:

解決方案:這種亂碼的情況,只需在頁面開頭加上request.setcharacterencoding("gbk"); 指定提交的即可。

6樓:

1修改jsp頁面編碼為utf-8,如果不行就試試2

2檢視mysql中的資料是否已經是亂碼是的話 修改資料庫編碼

mysql資料庫正常,php查出來中文變亂碼了

7樓:匿名使用者

典型的編碼問題。

在php中mysql_connect之後,加一句:mysql_query('set names utf8', $con);用來設定一下編碼。

php檔案的編碼(一般是utf8無bom)也應該與資料庫的編碼一致。

顯示是通過html完成的,因此應該在中的前,指定html的編碼為utf8.

總之,養成良好的編碼習慣,資料庫建立的時候就用utf8,資料表也用utf8,取數時set names utf8, 取出來之後顯示時也用utf8。

8樓:鳳凰舞者論

安裝資料庫的地方找到my.ini並設定default-character-set=gbk

如果你是linux 系統 locate my.ini然後設定成utf8

總之,php和mysql都要保持一致的編碼。

9樓:匿名使用者

你先看看你的php程式的編碼是否和資料庫一致呀....不要將utf-8和gbk混用

php連線mysql資料庫問題,mysql資料庫怎麼連線資料庫

public listpagelisttwo int currentpage,int showrows connection con null preparedstatement ps null resultset rs null arraylistresultlist new arraylist ...

PHP如何遠端連線到MySQL資料庫

這個在你的專案裡面配置一下就好了。比如我使用thinkphp框架,在配置檔案裡面有這麼一行 db host localhost 這裡配置的就是要訪問的資料庫伺服器,我本地使用就用localhost,如果你是在伺服器上的,就寫你伺服器的 或者是ip就好了。任何乙個php框架或者不用框架都有這麼乙個設定...

利用php鏈結mysql資料庫的時候,如下所問

估計你這個例子是教材上來的,才會有那麼噁心的用法,是為了遮蔽錯誤,這樣即使有錯,也不會列印到網頁上,這樣就顯得很好看,起到粉絲太平的作用。這種錯誤一般是說伺服器不對啊,密碼不對啊之類的,而且是英文的 而or die的意思呢,是當你連線資料庫失敗後,把資料庫鏈結錯誤這句話列印到網頁上。所以,這裡同時用...