在數據集中sql執行沒結果,而到放mysql數據庫中查詢有結果
一般原因有幾點:
- 編碼不對,比如查詢中有中文,數據庫能正確識別,而在設計器中設置編碼是沒有設置。
- 設計器中使用參數或在數據集中使用${}包含公式時,拼接的字符串不對,這種原因主要是對公式使用不當,可以先在模板中對這個公式進行計算,看看結果字符串,確認沒有錯誤後再在數據集中拼接即可。
1.查看及修改 MySQL 字符集
1)查看 MySQL 數據字符集
MySQL 字符集介紹:MySQL 的字符集支持(Character Set Support)有兩個方面:字符集(Character set)和排序方式(Collation)。
對於字符集的支持細化到四個層次:服務器( Server), 數據庫(Database), 數據表(Table), 連接(Connection)。
查看默認字符集 (默認情況下,MySQL 的字符集是 latin1(ISO_8859_1)
通常,查看系統的字符集和排序方式的設定可以通過下面的兩條命令實現:
SHOW VARIABLES LIKE 'character%';//查看字符集
2)修改 MySQL 字符集
方法一:
修改 MySQL 的 my.ini 文件中的字符集鍵值。
default-character-set = utf8 character_set_server = utf8
修改完後,重啓 MySQL 的服務,service mysql restart, 使用
mysql> SHOW VARIABLES LIKE 'character%';
查看,發現數據庫編碼均已改成 UTF-8。
方法二:
使用 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_%'
查看字符編碼,修改完之後如果還是出現亂碼問題。則需要在設計器定義數據連接數修改。
2. 數據連接修改
在定義數據連接增加 URL 的地方增加參數
?useUnicode=true&characterEncoding=UTF-8
注意需要將圖示中的編碼設置爲自動。一般情況數據連接這裏新增了編碼參數亂碼問題就可以解決了