java pdf中文亂碼怎麼辦?
解決javapdf匯出文件,中文亂碼和資料錯位的問題
推薦教學:《java學習》
先說中文亂碼問題,javapdf內部使用的是ISO-8859-1編碼,而通常我們的資料庫編碼是UTF-8或GBK,如果在javapdf寫入之前不進行轉碼,會出現導出的檔案中文亂碼,所以在遍歷每個欄位的資料時要加上該條碼
if(object instanceof String){ object = new String(((String)object).getBytes("GBK"),"ISO-8859-1"); }
這裡的GBK是資料所在資料庫的編碼,依照自己的狀況變化。
再說說資料錯位,因為pdf支援的最大欄位長度只有255,所以在你傳入的欄位長度大於255時,javapdf會跟你作一個%6的運算,來確保欄位長度小於256 ,而資料錯位通常是由於這個運算操作引起的,所以我們只能在代碼端控制傳入的字段資料長度,進行適當截取,保證你轉入的字段長度不能大於255的同時,保證你的字段數據也不會大於255,中文要除2。
以上是java pdf中文亂碼怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!