2

我試圖在碧玉報告報表查詢包含此where語句碧玉報告阿拉伯查詢問題

where payment='شيك' 
當我嘗試運行使用JRViewer300我得到了下面的異常報告

net.sf.jasperreports.engine.fill.JRExpresssionEvalException : Error evaluating expression... 

當我改變WHERE語句來

where payment='cheque' 

報告運行沒有任何proble米那麼這是關於什麼的?

感謝

+0

什麼雙引號? – lschin 2011-05-03 11:30:25

回答

0

我假定數據庫設置使用Unicode編碼工作,在Java中,你需要躲避輸入字符串(治療特殊字符),並開啓編碼成UTF-8(或16)檢查this出。

...也試試這個:

exporter.setParameter(JRExporterParameter.CHARACTER_ENCODING, "UTF-8");

+0

這是幹什麼的? – 2011-05-03 11:40:27

+0

這不適用於Mysql和PostgreSQL – 2011-05-03 11:52:26

+0

@Feras Odeh,但這是轉義,但是,您需要將您的數據庫供應商驅動程序配置爲支持適當的字符集。我不知道誰是您的JDBC供應商,但您可能需要將驅動程序配置爲「將client_encoding設置爲 iso-8859-8」。 – aviad 2011-05-03 12:45:53