|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
市场分额,java比asp高一点,因为C#是仿照java开发的,所以哦C#能做的java都能做到,但是java能做的,C#不一定都能做到。毕竟是抄袭吗。编码|成绩Java言语默许的编码体例是UNICODE,而我们中国人一般利用的文件和数据库都是基于GB2312大概BIG5等体例编码的,如何才干够得当地选择汉字编码体例并准确地处置汉字的编码呢?本文将从汉字编码的知识动手,分离Java编程实例,剖析以上两个成绩并提出办理它们的计划:
1.在JSP程序中到场一条语句:
<%@pagecontentType="text/html;charset=gb2312"%>
2.在URL叨教字符串的编码成绩。
假如经由过程GET/POST办法从客户端传送过去的信息中包括汉字信息,SERVLET/JSP没法失掉准确的值。
我们在挪用request.getParameter("param_name")前指定使用程序所但愿的编码体例。
也就是request.setCharacterEcoding()便可
3.在分歧的平台编码的成绩是分歧的。
在linux平台上的尺度是Iso8859_1,而在win2k下是GBK的,这些是默许的尺度,假如你的服务器不是如许的,那末编译的成绩必定会有成绩。自己就碰到如许的成绩,两台LINUX服务器,一台lang=en,一台lang=en,UTF8,被我弄了N长工夫才找到缘故原由。
3.我自己用的最多的转换编码的一个类(在linux平台),几近能够办理一切的编码成绩。类的办法十分办理。次要就是asc2gb()和gb2asc()这两个类。
packagecom.whaic.tools;
importjava.io.UnsupportedEncodingException;
publicclassECov
{
publicstaticStringasc2gb(Stringasc){
Stringret;
if(asc==null)returnasc;
try{
ret=newString(asc.getBytes("ISO8859_1"),"GB2312");
}
catch(UnsupportedEncodingExceptione){
ret=asc;
}
returnret;
}
publicstaticStringgb2asc(Stringgb){
Stringret;
if(gb==null)returngb;
try{
ret=newString(gb.getBytes("GB2312"),"ISO8859_1");
}
catch(UnsupportedEncodingExceptione){
ret=gb;
}
returnret;
}
}
4.读写文件时的中文成绩:
Read::
FileInputStreamfis=newFileInputStream(strInFile);
InputStreamReaderisr=newInputStreamReader(fis,"GB2312");
Readerin=newBufferedReader(isr);
intch;
while((ch=in.read())>-1){
iCharNum+=1;
buffer.append((char)ch);
}
in.close();
Write::
FileOutputStreamfos=newFileOutputStream(strOutFile);
Writerout=newOutputStreamWriter(fos,"Big5");
out.write(str);
out.close();
以上仅仅是自己是一样平常利用中碰到的一些成绩息争决计划。因为国际化的事情并非在国际完成的,以是在这些基础类公布之前,没有经由严厉的测试,以是对中笔墨符的撑持其实不像JavaSoft所宣称的那样完善。Java编程言语发展于收集天下,这就请求Java对多国字符有很好的撑持。Java编程言语顺应了盘算的收集化的需求,为它可以在收集天下敏捷发展奠基了坚固的基本。Java的创作发明者(JavaSoft)已思索到Java编程言语对多国字符的撑持,只是如今的办理计划有良多缺点在内里,必要我们付诸一些抵偿性的措施。而天下尺度化构造也在勉力把人类一切的笔墨一致在一种编码当中,个中一种计划是ISO10646,它用四个字节来暗示一个字符。固然,在这类计划未被接纳之前,仍是但愿JavaSoft可以严厉地测试它的产物,为用户带来更多的便利。
微软什么都提供了。你可以试想一下,如果你是新手,你是希望你点一下按钮程序就能运行那,还是想自己一点一点的组织结构,然后打包发部,调错再打包...... |
|