該問(wèn)題我在使用分頁(yè)查詢導(dǎo)出的時(shí)候碰到了亂碼的情況,我的情況比較特殊,我通過(guò)瀏覽已經(jīng)建立好的數(shù)據(jù)庫(kù)連接的中的數(shù)據(jù)時(shí)并非亂碼,而當(dāng)我使用表輸入組件中的預(yù)覽數(shù)據(jù)時(shí)缺產(chǎn)生了亂碼,因此我不得不設(shè)置我們的數(shù)據(jù)庫(kù)連接參數(shù)
亂碼主要分幾種情況
一、查看我們的數(shù)據(jù)庫(kù)的服務(wù)端字符集是否是UTF-8(常用字符集)
可以使用navicat連接到我們的數(shù)據(jù)庫(kù),然后使用命令行,輸入查詢語(yǔ)句進(jìn)行查看,如下:
- mysql> show variables like '%char%';
- +--------------------------+-----------------------------------------------+
- | Variable_name | Value |
- +--------------------------+-----------------------------------------------+
- | character_set_client | utf8mb4 |
- | character_set_connection | utf8mb4 |
- | character_set_database | utf8 |
- | character_set_filesystem | binary |
- | character_set_results | utf8mb4 |
- | character_set_server | utf8 |
- | character_set_system | utf8 |
- | character_sets_dir | D:\Users\xiaoymin\Bin\mariadb\share\charsets\ |
- +--------------------------+-----------------------------------------------+
- 8 rows in set (0.08 sec)
其中character_set_server
就是我們的數(shù)據(jù)庫(kù)服務(wù)端編碼
我們也可以使用SQL語(yǔ)句查詢我們的表字段編碼,如下:
mysql> show full columns from fund;
如果我們第一步檢查是OK的,但是瀏覽數(shù)據(jù)依然是亂碼,那么我們就需要修改Kettle中的配置參數(shù)
點(diǎn)擊表輸入組件的編輯按鈕,對(duì)數(shù)據(jù)庫(kù)信息進(jìn)行編輯
1、選擇高級(jí)選項(xiàng)卡,添加相關(guān)字符碼
2、高級(jí)選項(xiàng)卡中設(shè)置names值,網(wǎng)上的解決方案大多是使用utf8,但是我本機(jī)使用后發(fā)現(xiàn)還是亂碼,因此我改成了gbk,這個(gè)大家自行根據(jù)自己的情況設(shè)定
set names gbk;
如下圖:
聯(lián)系客服