PHP中MYSQL資料庫亂碼問題,跪求解決方案

2022-11-10 08:35:26 字數 1584 閱讀 5568

1樓:匿名使用者

可能需要修改資料庫的配置

一般情況下我們在設計資料庫的時候都會事先確定好要用的字符集,但當我們要使用以前的資料的時候,可能會遇到字符集不同的問題,字符集的修改不能通過alert database charest set *來直接修改,這樣只是影響以後的資料,對已有的資料沒有用,那怎麼辦那

我們模擬講latin1字符集的資料庫修改成gbk的字符集,

1,匯出表結構:

mysqldump -uroot -p --default -character-set = gbk -d databasename>createtab.sql

-default-character-set=gbk 表示設定上面字符集連線 -d表示只匯出表結構

2,手工修改createtab.sql中表結構定義中的字符集為新的字符集。

3,確保記錄不在更新,匯出所有記錄

mysqldump -uroot -p --quick --no-create-info --extended-insert --default-chareacter-set=latina

databasename>date.sql

--quick 該選項用於轉儲存大的表,--extended-insert 可以使轉存檔案更小,過載的時候加快速度,

--no-create-info不寫重新建立每個轉儲存表的create table 語句,--default-character-set=latin1按照原有的字符集匯出所有資料,這樣匯出的檔案中,所有的中文都是可見的,保證不會出項亂碼,

4,開啟data.sql 將set names lation1修改為set names gbk;

5,使用新的字符集建立資料庫,

create database databasename default charset gbk;

6,建立表,執行createtab.sql

mysql -uroot -p databasename < createtab.sql

7,匯入資料,執行data.sql,

mysql -uroot -p databasename < data.sql

參考上面的方法試驗下!~

2樓:匿名使用者

mysql是可以設定編碼格式的 gb2312啟動mysql伺服器的時候,指定系統變數character_set_server=gb2312(或utf8)即可,如下:

mysqld --character_set_server=gb2312(或utf8)

這是你決絕問題的關鍵。我也遇到過同樣的問題,希望能幫你解決問題。

3樓:

屢試不爽的辦法: 執行資料庫操作時,在mysql_query($query_str)之前加入這一句:mysql_query("set names utf8");

4樓:匿名使用者

如果是phpadmin,可以在phpadmin主頁更改language為簡體中文。

如果是cmd,修改**頁試試。

5樓:匿名使用者

用phpadmin管理一下 看看資料庫的語言設定對沒有。

mysql資料庫表裡,中文亂碼,應該選哪種編碼

不是說資料庫中文亂碼,就是資料庫的原因,這個和你在頁面上的編碼也有關係的。比如你資料庫的編碼方式是gbk的,那麼你網頁上也就使用gbk編碼,在執行sql刪除和新增的之前執行一下 set names gbk,就可以。utf 8 gb 2312 mysql資料庫中的中文亂碼如何解決 1 在安裝資料庫的時...

如何在mysql資料庫中資料庫,如何在MYSQL資料庫中新建一個資料庫

1 開啟電腦的sql軟體 輸入使用者名稱和密碼,連線上mysql主機地址,將mysql啟動。2 進入mysql裡面後,用滑鼠右鍵點選主機,然後會彈出選單欄,點選裡面的 建立資料庫 也可以使用快捷鍵ctrl d。3 接著會出現 建立資料庫 的視窗,為建立的資料庫取名,並選擇 基字符集 為 utf 8 ...

php使用mysql怎麼查詢資料庫已經有多少條資料

php使用mysql查詢資料庫已經有多少條資料使用sql的count函式實現。示例 如下 資料庫連線 conn mysql connect localhost root root if conn 選擇資料庫 mysql select db testdb sql語句 sql select count ...