當前位置:首頁 » 操作系統 » mysql導入資料庫是亂碼

mysql導入資料庫是亂碼

發布時間: 2022-04-24 14:38:58

㈠ Mysql資料庫中的中文亂碼如何解決

mysql數據亂碼問題可能有以下三種原因:
1.server本身設定問題,例如還停留在latin1版本;
2.table的語系設定問題(包含character與collation);
3.客戶端程式(例如php,java)的連線語系設定問題;
建議使用utf8!!!!

想要避免mysql的中文亂碼問題,可以嘗試以下方法:
1,對於版本問題,建議去官網更新最新的版本或者比較好用的版本;

2,創建資料庫,創建表時沒有對字元編碼進行設定會造成亂碼問題:

創建資料庫的時候:CREATE DATABASE `test`
CHARACTER SET 'utf8'
COLLATE 'utf8_general_ci';

建表的時候 CREATE TABLE `database_user` (
`ID` varchar(40) NOT NULL default '',
`UserID` varchar(40) NOT NULL default '',
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

3,對於第三種情況,參考一下方法:
編輯linux伺服器中/etc/my.cnf文件,在[mysql]段加入default_character_set=utf8;
如果只是調試遇到亂碼問題:
在編寫Connection URL時,加上?useUnicode=true&characterEncoding=utf-8參數;
並且在網頁代碼中加上一個"set names utf8"或者"set names gbk"的指令,告訴MySQL連線內容都要使用utf-8或者gbk。
utf8或者gbk;

㈡ java後台向mysql插入數據,資料庫中顯示亂碼

MySQL中默認字元集的設置有四級:伺服器級,資料庫級,表級
。最終是欄位級
的字元集設置。注意前三種均為默認設置,並不代碼你的欄位最終會使用這個字元集設置。所以我們建議要用show
create
table
table
;
或show
full
fields
from
tableName;
來檢查當前表中欄位的字元集設置。
MySQL中關於連接環境的字元集設置有
Client端,connection,
results
通過這些參數,MySQL就知道你的客戶端工具用的是什麼字元集,結果集應該是什麼字元集。這樣MySQL就會做必要的翻譯,一旦這些參數有誤,自然會導致字元串在轉輸過程中的轉換錯誤。基本上99%的亂碼由些造成。
上面是我抄網上的資料來的。我試了一下。發現
mysql>
show
variables
like
'char%';
+--------------------------+----------------------------+
|
Variable_name
|
Value
|
+--------------------------+----------------------------+
|
character_set_client
|
latin1
|
|
character_set_connection
|
latin1
|
|
character_set_database
|
latin1
|
|
character_set_filesystem
|
binary
|
|
character_set_results
|
latin1
|
|
character_set_server
|
latin1
|
|
character_set_system
|
utf8
|
|
character_sets_dir
|
/usr/share/mysql/charsets/
|
+--------------------------+----------------------------+
8
rows
in
set
(0.00
sec)
解決方法已經找到。進入數據後
use
資料庫名;
names
utf8;
不過這樣會每次進入都必須重新設置。因此。還可以在/etc/mysql/my.conf里添加
[mysql]
#no-auto-rehash
#
faster
start
of
mysql
but
no
tab
completition
default-character-set=utf8
這樣資料庫就不每次按照utf8字元集來導入到資料庫了

㈢ mysql導入文本文件,亂碼怎麼解決

停止mysql服務(net
stop
mysql),然後在myql安裝目錄的bin目錄下,找到my.ini,打開該文件,在裡面查找latin1,全部改為utf8,保存,最後再啟動mysql服務(net
start
mysql)
檢驗:打開mysql命令行終端,輸入show
variables
like
『character%』,查看是否除了character_set_filesystem外,所有的編碼都為utf8,如果是,就已經設置正確了

㈣ mysql導出資料庫亂碼怎麼辦

在mysql導入導出數據時經常出現中文亂碼的問題,大多是因類導入導出時編碼設置不一致所引起的。本文介紹了不同平台下的編碼轉換方法,供大家參考。
在linux系統中默認的是utf8編碼,而windows是gbk編碼,如果在這二個系統間導入未經指定編碼的數據,就會出現亂碼。
首先,確定導出數據的編碼格式,使用mysqlmp的時候需要加上--default-character-set=utf8,
例如:
mysqlmp -uroot -p --default-character-set=utf8 dbname tablename > bak.sql
那麼導入數據時也要使用--default-character-set=utf8:
mysql -uroot -p --default-character-set=utf8 dbname < bak.sql
統一編碼後,mysql數據遷移中的亂碼問題就解決了。
使用windows作為導出數據源,並導入 freebsd環境下的mysql庫,解決方法詳解。
導出數據
一、首先,在windows平台下mysql用作導出資料庫源。
查看字元編碼的系統變數:
代碼示例:
mysql> show variables like 『%char%';
+————————–+—————————-+
| Variable_name | Value |
+————————–+—————————-+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | gbk |
| character_set_system | utf8 |
| character_sets_dir | D:mysqlsharecharsets |
+————————–+—————————-+
查看character_set_database,這里是latin1,latin1是裝不了多位元組字元集的。
二、在windows下設置系統變數為utf8
mysql>set character_set_database=utf8; ##設置默認的字元集為utf8
三、導出數據
mysql> select * from table into outfile 『c:table.txt' where +條件
這時導出了部分數據,並以txt文件存在 table.txt中。
導入數據
在freebsd平台下
一、同樣設置字元編碼的系統變數
代碼示例:
mysql> show variables like 『%char%';
+————————–+—————————-+
| Variable_name | Value |
+————————–+—————————-+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | gbk |
| character_set_system | utf8 |
+————————–+—————————-+
mysql>set character_set_database=utf8; ##設置默認的字元集為utf8
二、轉載數據
mysql>load data local infile 『/home/table.txt' into table `table`;
至此、條件數據完整導入導出,並處理了亂碼的情況。
總之,兩台mysql伺服器導入導出時,一定要確保兩台伺服器的character_set_database參數相同,這樣才能防止一些亂碼的情況。當然我們還可以使用其他字元集,如gbk來進行調整。
解決方法三
亂碼解決方法
導入數據後,在命令行查看發現中文亂碼
使用以下命令查看系統字元集
show variables like 'char%';
如果不是GBK或UTF8,則停止mysql服務,然後到安裝目錄修改my.ini文件,
將文件中下面的變數改成如下,如果沒有這個變數則增加這些變數
[mysql]
default-character-set=gbk
[mysqld]
character-set-server=utf8
重新啟動服務,重新導入數據,如果還亂碼,只要把導入與導出編碼統一即可解決問題。

㈤ MySQL插入數據時遇到中文亂碼改怎麼辦

首先寫一個資料庫test,然後寫一個表table,最後插入你想要寫入的欄位"工資"。出現了了亂碼。就得
1. 啟動MySQL,在裡面輸入 ALTER DATABASE `test` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin,將test資料庫的編碼設為utf8。
2. 修改表的編碼:ALTER TABLE `category` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin 以上命令就是將一個表category的編碼改為utf8 。
3. 修改欄位的編碼:直接在MySQL里右擊表,然後點編輯表,在裡面修改或輸入代碼: ALTER TABLE `test` CHANGE `dd` `dd` VARCHAR ( 45 ) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL。4.得刪除之前插入的欄位之類的,再重新導入之前的欄位

㈥ 解析MYSQL 資料庫導入SQL 文件出現亂碼的問題

導入數據時,如果目標資料庫或表是UTF-8字元集的,而導入SQL中有中文,可能在最終結果中出現亂碼,此時只需在導入的SQL文件第一行加入如下內容
即可。
/*!40101
SET
NAMES
utf8
*/;

㈦ mysql資料庫新建或者倒入都會出現亂碼 如何解決

字元集編碼

安裝mysql時,由於失誤導致mysql默認編碼為latin1,這樣導致中文支持不了,遂想修改mysql編碼為utf8。步驟如下:一、管理工具-->服務-->停掉mysql服務二、修改my.ini配置文件:1.在[client]的port=3306的下面一行添加default-character-set=utf8
2.將[mysql]中的default-character-set=latin1中的latin1改為utf8
3. 將[mysqld]中的default-character-set=latin1中的latin1改為utf8

三、重啟mysql服務
service mysqld restart

四、進入mysql命令行,輸入以下命令檢查
mysql> show variables like 'character_set_%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)

mysql> show variables like 'collation_%';
+----------------------+-----------------+
| Variable_name | Value |
+----------------------+-----------------+
| collation_connection | utf8_general_ci |
| collation_database | utf8_general_ci |
| collation_server | utf8_general_ci |
+----------------------+-----------------+

㈧ 為什麼插入到MYSQL資料庫中的中文顯示亂碼


首先把mysql的服務停掉
在運行窗口輸入:net
stop
mysql

把伺服器和客戶端的字元集改成自己想用的字元集:gb2312或是utf8等……
具體操作為:打開mysql安裝目錄下的myini.tet;
找到default-character-set,將其改為自己想用的字元集:gb2312或是utf8等……,要注意的是這里有兩個default-character-set,用ctrl+f定位在文件最前面輸入default就會找到,都要改過來;

重啟mysql伺服器,在運行窗口輸入:net
start
mysql

最重要的是一點是,到這里我們已經能夠解決亂碼問題了,可問題是我們依然還會出現亂碼問題,這是因為我們現在的表被創建的時候用的是默認的字元集(latin1),所以這時候我們要把表刪除,然後重建就可以了

㈨ mysql 導入資料庫出現亂碼怎麼解覺

有可能是編碼的原因,改成UTF-8,還不行的話你就導出insert語句,然後在你要導入的資料庫裡面執行這個insert語句。以前遇到過這種問題,是通過導出insert語句然後執行解決的,原因是資料庫的版本不一樣

熱點內容
ilspy反編譯代碼 發布:2024-10-03 02:16:32 瀏覽:287
我的世界斗羅大陸平板伺服器 發布:2024-10-03 02:16:30 瀏覽:576
安卓怎麼把時間改成天數 發布:2024-10-03 02:14:12 瀏覽:722
編程白板 發布:2024-10-03 02:13:37 瀏覽:272
飛度888配置有哪些 發布:2024-10-03 02:11:27 瀏覽:255
安卓鎖屏怎麼關閉 發布:2024-10-03 01:48:35 瀏覽:47
linux什麼是編譯安裝 發布:2024-10-03 01:40:34 瀏覽:897
奧維地圖伺服器lp地址怎麼填 發布:2024-10-03 01:36:39 瀏覽:352
安卓影音先鋒怎麼提速 發布:2024-10-03 01:32:54 瀏覽:683
金蝶加密伺服器未啟動是怎麼回事 發布:2024-10-03 01:14:41 瀏覽:311