本文目錄一覽:
- 1、java編寫的程序向mysql(壓縮包版的那種)中插入中文數據時,在cmd中查詢顯示的是亂碼
- 2、用JAVA插入到mysql中出現亂碼是什麼原因?
- 3、java後台向mysql插入數據,資料庫中顯示亂碼
- 4、java寫入mysql資料庫亂碼
java編寫的程序向mysql(壓縮包版的那種)中插入中文數據時,在cmd中查詢顯示的是亂碼
你這個是因為修改了默認字符集後插入數據 造成前後不統一的問題 重新設置一遍就沒問題了
① 首先把MySQL的服務停掉 在運行窗口輸入:net stop mysql
② 把伺服器和客戶端的字符集改成自己想用的字符集:GB2312或是utf8等……
具體操作為:打開mysql安裝目錄下的my.ini;
找到default-character-set,將其改為自己想用的字符集:GB2312或是utf8等……,要注意的是這裡有兩個default-character-set,用ctrl+f定位在文件最前面輸入default就會找到,都要改過來;
③ 重啟MySQL伺服器,在運行窗口輸入:net start mysql
④ 最重要的是一點是,到這裡我們已經能夠解決亂碼問題了,可問題是我們依然還會出現亂碼問題,這是因為我們現在的表被創建的時候用的是默認的字符集(latin1),所以這時候我們要把表刪除,然後重建就可以了
用JAVA插入到mysql中出現亂碼是什麼原因?
***Mysql資料庫常見亂碼處理方式***
——先分清是否是資料庫亂碼,如果是其它則用其它方式處理
說明:i裡面每條並不是說是一個解決辦法,有時都要用到; ii這些方法應該能解決常見的亂碼問題,並且這些解決方法都很簡捷。
1.在安裝資料庫的過程中將默認的拉丁文–GBK。
2.在創建資料庫時設置選擇GBK或者gb2312。
3.Mysql安裝目錄下的my.ini文件,將 “default-character-set=xxxxx” 中的xxxxx改成GBK或者gb2312。
4.Mysql安裝目錄下的\data\databasename(資料庫名)\db.opt文件打開
default-character-set=gbk
default-collation=gbk_chinese_ci; 如果上面不是gbk和gbk_chinese_ci則改成支持中文的GBK或者gb2312。
5.進入Mysql的dos命令下:進入某資料庫後 show full columns from tablename ;查看數據類型,如果不是支持中
文的類型則執行alter table tablename convert to character set gbk 。
6.在創建資料庫時(用命令創建時)create database databasename CHARACTER SET gbk;
這是我當年總結的,現在都用oracle了,越學忘記的越多了,不過mysql只要裡面的幾條必好使.
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字符集來導入到資料庫了
java寫入mysql資料庫亂碼
應該是中文亂碼問題
可以加上編碼格式的設置,同時保證與資料庫編碼格式一致。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/232007.html