亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

Java中文相關技術

2019-11-18 13:18:56
字體:
來源:轉載
供稿:網友

  在應用開發的過程中,總會碰到一些“難以理解”的系統缺陷和“不易解決”的問題。其實,通過認真分析,不必購買昂貴的產品依然可以解決多數問題。
  ■JDBC ODBC Bridge的Bug及其解決方法
  在編寫一數據庫治理程序時,發現JDBC-ODBC Bridge存在不易發現的Bug。在向數據表插入數據時,假如為英文字符,存儲內容完全正確,假如存入中文字符,部分數據庫只能存儲前七八個中文字符,其他內容被截去,導致存儲內容的不完整(有些數據庫不存在這個問題,如Sybase SQL Anywhere 5.0。JDBC-ODBC Bridge還存在無法建表的Bug)。
  對于廣大需要存儲中文信息的java程序員來說,這可是一個不好的消息。要么改用其他語言編程,要么選擇其他價格昂貴的數據庫產品。“一次編寫,到處運行”的目標,也大打折扣。能不能采用變通的方法,將中文信息進行處理后再存儲來解決這個問題呢?答案是肯定的。
  解決問題的具體思路、方法
  Java采用Unicode碼編碼方式,中英文字符均采用16bit存儲。既然存儲英文信息是正確的,根據一定規則,將中文信息轉換成英文信息后存儲,自然不會出現截尾現象。讀取信息時再進行逆向操作,將英文信息還原成中文信息即可。由GB2312編碼規則可知,漢字一般為二個高位為1的ASCII碼,在轉換時將一個漢字的二個高位1去掉,還原時再將二個高位1加上。為了處理含有英文字符的中文字串,對英文字符則需要加上一個Byte 0標記。以下提供的兩個公用靜態方法,可加入任何一個類中使用。
  將中英文字串轉換成純英文字串
  public static String toTureAsciiStr(String str){
  StringBuffer sb = new StringBuffer();
  byte[] BT = str.getBytes();
  for(int i =0 i〈btelse{//是英文字符 補0作記錄
  sb.append((char)0);
  sb.append((char)bt[i]);
  }
  }
  return sb.toString();
  }
  將經轉換的字串還原
  public static String unToTrueAsciiStr(String str){
  byte[] bt = str.getBytes();
  int i,l=0,length = bt.length,j=0;
  for(i = 0;i〈length;i++){
  if(bt[i] == 0){
  l++;
  }
  }
  byte []bt2 = new byte[length-l];
  for(i =0 i〈length;i++){
  if(bt[i] == 0){
  i++;
  bt2[j] = bt[i];
  }else{
  bt2[j] = (byte)(bt[i]0x80);
  }
  j++;
  }
  String tt = new String(bt2);
  return tt;
  }
  上例在實際編程中效果很好,只是存儲的中文信息需要經過同樣處理,才能被其他系統使用。而且假如中文字串出現英文字符,實際上增加了額外的存儲空間。
  ■Solaris下Servlet編程的中文問題及解決辦法
  在使用Java開發Internet上的一個應用系統時,發現在Windows下調試完全正常的Servlet,上傳到Solaris 服務器上,運行卻出現故障——返回的網頁不能顯示中文,應為中文的信息全為亂碼;用中文信息做要害字,不能正確檢索數據庫。后來采用加入檢查代碼等方法探知故障原因如下:
  顯示亂碼主要是因為通過類 HttpServletResponse提供的方法setContentType 無法改變返回給客戶的數據的編碼方式,正確的編碼方式應為GB2312或者GBK,而事實上為缺省的ISO8859-1。無法檢索中文信息則是因為,客戶提交的中文信息經瀏覽器編碼到達服務器后,Servlet無法將其正確解碼。
  舉例說明顯示亂碼解決方法
  Servlet 一般通常做法如下:
  public class ZldTestServlet extends HttpServlet {
  public void doGet (HttpServletRequest request,HttpServletResponse response)throws ServletException, IOException{
  //在使用 Writer向瀏覽器返回數據前,設置 content-type header ,在這里設置相應的字符集gb2312
  response.setContentType("text/Html;charset=gb2312");
  PRintWriter out = response.getWriter(); //*
  // 正式返回數據
  out.println("〈html〉〈head〉〈title〉Servlet test〈/title〉〈/head〉" );
  out.println("這是一個測試頁!");
  out.println("〈/body〉〈/html〉");
  out.close();
  }
  ...
  }
  解決頁面顯示亂碼問題,需將*處代碼換成如下內容:
  PrintWriter out = new PrintWriter(new OutputStreamWriter(response.getOutputStream(),"gb2312"));
  Solaris中文信息檢索問題的解決
  瀏覽器利用表單向服務器提交信息時,一般采用x-www-form-urlencoded 的MIME格式對數據進行編碼。假如使用get方法,參數名稱和參數值經編碼后附加在URL后,在Java中稱作查詢串(query string)。
  在Servlet程序中,假如采用ServletRequest的方法getParameter取得參數值,在Solaris環境下,對漢字卻不能正確解碼。因而無法正確檢索數據庫。
  在Java 1.2的包——java.net中提供了URLEncode和URLDecode類。類URLEncode提供了按x-www-form-urlencoded格式對給定串進行轉換的方法。類URLEncode則提供了逆方法。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩www在线| 91亚洲va在线va天堂va国| 性欧美在线看片a免费观看| 亚洲色图综合久久| 国产91av在线| 色综久久综合桃花网| 亚洲高清久久网| 亚洲欧美综合另类中字| 国产精品一区二区三区毛片淫片| 国产日韩欧美中文在线播放| 国产精品久久久久91| 日产日韩在线亚洲欧美| 国产精品女人久久久久久| 久久精品亚洲一区| 欧美国产日韩一区| 色哟哟亚洲精品一区二区| 亚洲国产另类久久精品| 中文字幕亚洲字幕| 久久精品2019中文字幕| 欧美日韩成人黄色| 最新国产精品亚洲| 国产精品久久久久久久av电影| 欧美一性一乱一交一视频| 97热精品视频官网| 2019中文字幕在线免费观看| 91亚洲va在线va天堂va国| 欧美激情精品久久久久久蜜臀| 精品久久久久久中文字幕一区奶水| 中文字幕国产亚洲| 国产精品久久不能| 国产欧美一区二区| 亚洲欧美日韩网| 91亚洲人电影| 欧美中文字幕在线视频| 久久成人免费视频| 亚洲国产精品va在看黑人| 91干在线观看| 欧美一区二区三区免费观看| 欧美激情精品久久久久久变态| 欧美激情亚洲一区| 国产亚洲视频中文字幕视频| 福利一区福利二区微拍刺激| 精品久久香蕉国产线看观看gif| 疯狂欧美牲乱大交777| 国产视频自拍一区| 色噜噜狠狠狠综合曰曰曰| 国产一区深夜福利| 中文字幕亚洲欧美日韩高清| 欧美激情在线一区| 亚洲另类xxxx| 中文字幕欧美视频在线| 亚洲成人在线视频播放| 国产激情久久久久| 亚洲第一av网| 亚洲影院高清在线| 国产精品av电影| 九色成人免费视频| 国产精品久久久久秋霞鲁丝| 久久久久久久久久久亚洲| 亚洲a∨日韩av高清在线观看| 午夜精品久久久久久久99黑人| 神马久久桃色视频| 久久免费精品日本久久中文字幕| 另类色图亚洲色图| 日韩欧美中文字幕在线播放| 亚洲精品456在线播放狼人| 国产精品视频导航| 国产精品国产亚洲伊人久久| 久久成人人人人精品欧| 在线视频亚洲欧美| 97国产在线视频| 日韩激情视频在线播放| 日韩禁在线播放| 久久福利视频网| 亚洲精品第一国产综合精品| 日韩精品日韩在线观看| 国产精品久久久久久久久久新婚| 国产日韩欧美在线视频观看| 久久国产精品久久久| 国产亚洲欧美一区| 久久亚洲精品国产亚洲老地址| 欧美激情免费观看| 亚洲男人天堂九九视频| 国内成人精品视频| 国产99久久久欧美黑人| 日韩在线视频一区| 国产精品盗摄久久久| 亚洲国产精品99久久| 欧美理论在线观看| 韩国19禁主播vip福利视频| 中文字幕国产精品| 亚洲全黄一级网站| www欧美xxxx| 国产精品青青在线观看爽香蕉| 日韩大片在线观看视频| 国产精品久久久久久久美男| 亚洲成在人线av| 欧美激情精品久久久久久变态| 91沈先生在线观看| 欧美激情视频一区二区| 欧美精品一二区| 日韩有码在线视频| 国产主播喷水一区二区| 欧美有码在线视频| 亚洲xxxx妇黄裸体| 欧美日韩国产专区| 亚洲日本成人女熟在线观看| 伊人久久久久久久久久久| 视频一区视频二区国产精品| 亚洲国产女人aaa毛片在线| 91久热免费在线视频| 欧美韩国理论所午夜片917电影| 亚洲男人第一网站| 激情亚洲一区二区三区四区| 久久久综合免费视频| 热久久99这里有精品| 日韩在线不卡视频| 久久精品男人天堂| 91久久久在线| 精品国产一区二区三区久久久狼| 美日韩精品免费观看视频| 亚洲欧美www| 91精品啪aⅴ在线观看国产| 中文字幕在线亚洲| 97香蕉超级碰碰久久免费软件| 国产盗摄xxxx视频xxx69| 91在线播放国产| 国产精品福利网| 欧美一级淫片丝袜脚交| 亚洲激情在线观看视频免费| 欧美激情xxxx性bbbb| 国产精品久久婷婷六月丁香| 中文字幕日韩高清| 亚洲精品一区中文字幕乱码| 日韩在线中文字| 欧美成人国产va精品日本一级| 欧美日韩中文字幕在线| 日韩在线视频播放| 国产91精品视频在线观看| 国产福利精品视频| 日韩av电影国产| 欧美大人香蕉在线| 欧美午夜视频一区二区| 爱福利视频一区| 久久综合网hezyo| 欧美另类交人妖| 成人欧美一区二区三区在线| 亚洲第一精品久久忘忧草社区| 精品久久香蕉国产线看观看亚洲| 欧美另类69精品久久久久9999| 懂色aⅴ精品一区二区三区蜜月| 亚洲美女性生活视频| 国产午夜精品全部视频在线播放| 国产精品偷伦免费视频观看的| 一本色道久久综合狠狠躁篇的优点| 97人人模人人爽人人喊中文字| 欧美做受高潮电影o| 91精品国产91久久久久久| 日韩电影在线观看永久视频免费网站| 久久精品人人爽| 国产精品色午夜在线观看| 久久久久国产精品免费| 九九热99久久久国产盗摄| 亚洲二区中文字幕|