日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

保存oracle数据之后乱码,Oracle保存中文数据和读取数据页面显示乱码解决方案

發布時間:2025/4/16 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 保存oracle数据之后乱码,Oracle保存中文数据和读取数据页面显示乱码解决方案 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

關于在Oracle數據庫中保存中文字段屬性和最后頁面顯示中文字符,之前遇到過一次,后來一直用MySQL就遇到的不多了,其實是我寫的項目不多啦,也沒成體系,很多情況下都是改他們寫好的代碼,所以那些這些中文字符問題在初期就解決完了。這次又著手自己寫項目了。就遇到問題了。

首先數據時在PL/SQL Developer客戶端錄入的,中文字段是username,然后在頁面上查詢顯示時這個字段就顯示亂碼了,記得以前老師說過要1.數據庫 2.java代碼 3.頁面顯示的編碼格式都統一(GBK 、 UTF-8)了,就不會亂碼,調試后還是不行。寫了錄入方法保存信息,從頁面存入的中文信息數據庫也顯示亂碼。搞了好一陣子也沒弄好;最后問老前輩得到有效解決辦法,他們之前寫到的字符轉換類。

頁面保存至數據庫?gbk2iso

public static String gbtoiso(String strgb) {

String striso = null;

try {

striso = new String(strgb.getBytes("GBK"), "iso-8859-1");

} catch (UnsupportedEncodingException e) {

// log.info(e.getMessage());

} catch (Exception e) {

// log.info(e.getMessage());

}

return striso;

}

讀取數據庫中的信息顯示到頁面

public static String isotogb(String striso) {

String strgb = null;

try {

if (striso != null && !striso.equals("null"))

strgb = new String(striso.getBytes("iso-8859-1"), "GBK");

else

strgb = "";

} catch (UnsupportedEncodingException e) {

log.info(e.getMessage());

}

return strgb;

}

上面的方法只需要在保存或查詢過程中把中文屬性過濾即可,例:

查詢轉換

public List findDBAll(){

List list = dbrwjkxxDAO.findAll();

//工具類引用到本類

for(int i = 0; i < list.size() ; i++){

this.isotogb((DmDbrwjkxx)list.get(i));

}

//直接引用工具類

//((DmDbrwjkxx)list.get(i)).setUsername(MyUtil.isotogb(((DmDbrwjkxx)list.get(i)).getUsername()));

return list;

}

保存轉換

public void saveDB(DmDbrwjkxx dbrw){

dbrw.setUsername(MyUtil.gbtoiso(dbrw.getUsername()));

dbrwjkxxDAO.save(dbrw);

} 其實歸根結底就是輸入的字符和數據庫保存的字符一直即可,這里做了統一處理。還不清楚為什么存入數據庫中時轉成iso,待改天搞懂再來補上吧。

總結

以上是生活随笔為你收集整理的保存oracle数据之后乱码,Oracle保存中文数据和读取数据页面显示乱码解决方案的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。