finereport在數據集中sql執行沒結果,而放到mysql數據庫中查詢有結果

在數據集中sql執行沒結果,而到放mysql數據庫中查詢有結果

一般原因有幾點:

  1. 編碼不對,比如查詢中有中文,數據庫能正確識別,而在設計器中設置編碼是沒有設置。
  2. 設計器中使用參數或在數據集中使用${}包含公式時,拼接的字符串不對,這種原因主要是對公式使用不當,可以先在模板中對這個公式進行計算,看看結果字符串,確認沒有錯誤後再在數據集中拼接即可。

 

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

注意需要將圖示中的編碼設置爲自動。一般情況數據連接這裏新增了編碼參數亂碼問題就可以解決了

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章