mysql數據庫連接通過數據連接編碼轉換進行編碼的轉換,在通過報表錄入往數據庫中錄入中文數據的時候,總是出現亂碼,這個該怎麼解決呢?下面就通過表格軟件FineReport來簡單介紹一下。
解決方案
檢查系統的默認字體
例如查看windows下C/window/fonts的字體樣式,如下圖:
如果沒有以上字體,百度一下缺少字體自行安裝,安裝之後,已經包含以上的字體如果還是出現問題,則需要參看及修改MySQL字符集。
參看及修改MySQL字符集
查看MySql字符集
MySQL字符集介紹:MySQL的字符集支持(Character Set Support)有兩個方面:字符集(Character set)和排序方式(Collation)。
對於字符集的支持細化到四個層次:服務器(server), 數據庫(database), 數據表(table), 連接(connection)。
查看默認字符集 (默認情況下,mysql的字符集是latin1(ISO_8859_1)
通常,查看系統的字符集和排序方式的設定可以通過下面的兩條命令實現:
SHOW VARIABLES LIKE 'character%';//查看字符集
如下圖:
SHOW VARIABLES LIKE 'collation_%';//查看排序方式
如下圖:
修改MySql字符集
方法一:
修改mysql的my.ini文件中的字符集鍵值。
default-character-set = utf8
character_set_server = utf8
修改完後,重啓mysql的服務,service mysql restart, 使用
mysql> SHOW VARIABLES LIKE 'character%';
查看,發現數據庫編碼均已改成utf8
方法二:
使用sql命令
SET character_set_client = utf8 ;
SET character_set_connection = utf8 ;
注:character_set_connection,database,results,server這四個字符一致,就可以不出現亂碼。以上修改字符集的方法是windows系統下的,如果是linux系統,使用linux下面的方法即可,思路一樣。
修改完成之後,通過
show variables like 'character_set_%'
查看字符編碼,修改完之後如果還是出現亂碼問題。則需要在設計器定義數據連接數修改
數據連接修改
在定義數據連接增加URL的地方增加參數
?useUnicode=true&characterEncoding=UTF-8
而不是通過定義數據連接窗口下面的編碼轉換進行設置,如下: