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的意思呢,是當你連線資料庫失敗後,把資料庫鏈結錯誤這句話列印到網頁上。所以,這裡同時用...