溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

java轉(zhuǎn)pdf中文亂碼應(yīng)該如何處理

發(fā)布時(shí)間:2020-04-07 10:21:39 來(lái)源:億速云 閱讀:468 作者:小新 欄目:編程語(yǔ)言

今天小編給大家分享的是java轉(zhuǎn)pdf中文亂碼應(yīng)該如何處理,很多人都不太了解,今天小編為了讓大家更加了解java轉(zhuǎn)pdf中文亂碼的處理方法,所以給大家總結(jié)了以下內(nèi)容,一起往下看吧。一定會(huì)有所收獲的哦。

java轉(zhuǎn)pdf中文亂碼應(yīng)該如何處理

java pdf中文亂碼怎么辦?

解決javapdf導(dǎo)出文件,中文亂碼和數(shù)據(jù)錯(cuò)位的問(wèn)題

首先說(shuō)中文亂碼問(wèn)題,javapdf內(nèi)部使用的是ISO-8859-1編碼,而通常我們的數(shù)據(jù)庫(kù)編碼是UTF-8或者GBK,如果在javapdf寫(xiě)入之前不進(jìn)行轉(zhuǎn)碼,會(huì)出現(xiàn)導(dǎo)出的文件中文亂碼,所以在遍歷每個(gè)字段的數(shù)據(jù)時(shí)要加上該條代碼

 if(object instanceof String){  
         object = new String(((String)object).getBytes("GBK"),"ISO-8859-1");  
}

這里的GBK是數(shù)據(jù)所在數(shù)據(jù)庫(kù)的編碼,根據(jù)自己的情況變化。

再說(shuō)說(shuō)數(shù)據(jù)錯(cuò)位,因?yàn)閜df支持的最大字段長(zhǎng)度只有255,所以在你傳入的字段長(zhǎng)度大于255時(shí),javapdf會(huì)跟你作一個(gè)%256的運(yùn)算,來(lái)保證字段長(zhǎng)度小于256,而數(shù)據(jù)錯(cuò)位通常是由于這個(gè)運(yùn)算操作引起的,所以我們只能在代碼端控制傳入的字段數(shù)據(jù)長(zhǎng)度,進(jìn)行適當(dāng)截取,保證你轉(zhuǎn)入的字段長(zhǎng)度不能大于255的同時(shí),保證你的字段數(shù)據(jù)也不會(huì)大于255,中文要除于2。

以上就是java轉(zhuǎn)pdf中文亂碼應(yīng)該如何處理的簡(jiǎn)略介紹,當(dāng)然詳細(xì)使用上面的不同還得要大家自己使用過(guò)才領(lǐng)會(huì)。如果想了解更多,歡迎關(guān)注億速云行業(yè)資訊頻道哦!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI