??xml version="1.0" encoding="utf-8" standalone="yes"?>欧美成人精品一区二区男人小说,国产亚洲欧美一区二区,日韩一级精品http://www.aygfsteel.com/tanghc/category/8611.htmlWelcome!zh-cnTue, 27 Feb 2007 08:39:55 GMTTue, 27 Feb 2007 08:39:55 GMT60Java 开发中遇到的ؕ码问?/title><link>http://www.aygfsteel.com/tanghc/archive/2006/03/18/35934.html</link><dc:creator>JavaWorm</dc:creator><author>JavaWorm</author><pubDate>Sat, 18 Mar 2006 06:24:00 GMT</pubDate><guid>http://www.aygfsteel.com/tanghc/archive/2006/03/18/35934.html</guid><wfw:comment>http://www.aygfsteel.com/tanghc/comments/35934.html</wfw:comment><comments>http://www.aygfsteel.com/tanghc/archive/2006/03/18/35934.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/tanghc/comments/commentRss/35934.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/tanghc/services/trackbacks/35934.html</trackback:ping><description><![CDATA[ <p> <font face="verdana, arial, helvetica"> <span id="wmqeeuq" class="javascript" id="text2295884"> <font size="2">若想明白jsp开发过E中Z么会产生中文qQ我们先来看看unicode~码?br />Unicode Q统一码)֐思义是一个将世界上各U文字统一在一L东东。由国各大电脑厂商l成的Unicode{进会来推动。目的,推广一个世界通用的编码体Ӟ惊世界上所有常用的文字都涵盖进去,从而减个电脑商开发国外市场遇到的问题?br />Z成千上万的文字l统攉C个共同的~码机制下,在兼儡的原则下,不管是东方还是西Ҏ字,每个字在Unicode中一律以两个Bytes来表C,q样臛_??6ơ方65536U不同的l合Q以应付目前绝大多数场合的需要?br />基本上,计算机只是处理数字。它们指定一个数字,来储存字母或其他字符。在创造Unicode之前Q有数百U指定这些数字的~码pȝ。没有一个编码可以包含够的字符Q例如,单单Ƨ州共同体就需要好几种不同的编码来包括所有的语言。即使是单一U语aQ例如英语,也没有哪一个编码可以适用于所有的字母Q标点符P和常用的技术符受?br />q些~码pȝ也会互相冲突。也是_两种~码可能使用相同的数字代表两个不同的字符Q或使用不同的数字代表相同的字符。Q何一台特定的计算?特别是服务器)都需要支持许多不同的~码Q但是,不论什么时候数据通过不同的编码或q_之间Q那些数据M有损坏的危险?br />Unicodel每个字W提供了一个唯一的数字,不论是什么^収ͼ不论是什么程序,不论什么语a。Unicode标准已经被这些工业界的领g所采用Q例如:Apple, HP, IBM, JustSystem, Microsoft, Oracle, SAP, Sun, Sybase, Unisys和其它许多公司。最新的标准都需要UnicodeQ例如XML, Java, ECMAScript (JavaScript), LDAP, CORBA 3.0, WML{等Qƈ且,Unicode是实现ISO/IEC 10646的正规方式。许多操作系l,所有最新的览器和许多其他产品都支持它。Unicode标准的出现和支持它工L存在Q是q来全球软g技术最重要的发展趋ѝ?br />Unicode与客h务器或多层应用程序和|站l合Q比使用传统字符集节省费用。Unicode使单一软g产品或单一|站能够贯穿多个q_Q语a和国Ӟ而不需要重建。它可将数据传输到许多不同的pȝQ而无损坏?br />在与Unicode相关的各技术文件中Q经怼看到ISO 10646和UCSq两个名词?br />ISO是位于瑞士的国际标准局的羃写?br />UCS为ISO颁布的第10646h?Universal Character Set,是世界通用字符集?br />UCS通用字符集采?个Bytes来编?世界上所有的官用和商用编码大通吃Q一|打。Unicode?991q便和ISO的UCS组密切配合Q让Unicode和ISO 10646保持一致。因此Unicode ?.0版开始,便和 ISO 10646-1使用相同的编码?br />L字典中的汉字??千,如果再加上里面没有的体字Q和不同写法的日文字Q那?Unicode6万多的分配空_光用来分配汉字就昑־捉禁见昼Q更别说什么泰文,阿拉伯等其他文字了。针对这个问题Unicode和UCS采用了[中日韩文整合]QCJK UnificationQ的解决ҎQ把中日韩笔画详的汉字用同一个单码表C?br />l过[中日韩文整合]的UnicodeUCؓl汉字Unihan?br />完整的Unicode4.0版可?/font> <a target="_blank"> <font size="2">http://www.unicode.org/Public/UNIDATA/Unihan.txt</font> </a> <font size="2">下蝲?br /><br />UTF (Unicode/UCS Transformation Format),Unicode推荐使用UTF-8和UTF-16两种格式其中8?6指的是Bits数而不是Bytes数?br />UTF-16基本是Unicode双字节的实现Q加上一个应付未来需要的扩充~码机制Q很用Q?br />UTF-8 是一U不{幅的编码方式,英数字(Ascii字码Q保持原Ӟ完全不受影响Q因此不需要做转换Q,而其他汉字资料须透过E序来{换,会[变胖]Q因为每个字需要额外一个或两个Bytes来编码?br />UCS字符集中Q有UCS-2和UCS-4{编码方式其中的2?指的是bytes敎ͼ对应UTF-8和UTF-16.<br />UCS-2基本和Unicode双byte ~码差不?br />UCS-4?byte~码表示一个字Q在每个 UCS-2前面加上两个I白的ByteQ便可得到对应的 UCS-4?br /></font> <font color="#ff0000"> <br /> <font size="2">Unicode的空间分配:<br />以下UnicodeZ码均?6q制表示<br />Unicode的前256个字W和ISO-8859-1(西欧字母)完全相同Q其中前半段是Ascii(u+0000到u+00FF)。每个ISO-8859-1码前面补上一个空byte(0x00)后才是相应的Unicode码?br />和我们切w相关的Unihan主要分布在u+3400到u+F9FFF之间QGB2312和BIG5主要分布在u+4E00到U+9FFF之间?br /></font> </font> <br /> <font size="2">UTF-8的编码原理和Ҏ:<br />知道了西Ƨ字W和汉字在Unicode中的位置后,来看看UTF-8<br /><br />U+0000~U+007E 1 _ _ _ _ _ _ _ (7bits)<br />U+0080~U+07FF 1 1 0_ _ _ _ _ 1 0_ _ _ _ _ _ (11bits)<br />U+0800~U+FFFF 1 1 1 0 _ _ _ _ 1 0 _ _ _ _ _ _ 1 0 _ _ _ _ _ _ (16bits)<br />看一看Unicode三种格式提出自由的bitsQ下划线IZQ是否以用来代表区位中各Unicode码,刚好够用?br />那么当程序处理UTF-8~码文gӞ如何得知一个字W的疆界落在哪里Q还有到底他是以三种形式那一中出现呢Q?br />每个以UTF-8~码的字W,不管是以一、二、三个bytes出现Q第一个byte前端都清楚地标示了该字符的byteL。如110U有两个1Q代表这U字W是以第二种方式出现Q由两个bytesl成。?110有三?Q表CU字W一点种方式出现Q由三个字节l成?br />每个多重byte的UTF-8~码有一个共同的通性,卛_中的W二个第三个byte, 一律以10两个bits开头。由于其中的最高位总设?Q可以很Ҏ和那些在UTF-8中只用一个Byte的ASCII字元区分开来,方便侦错?br />因ؓ上述设计特点QUTF-8和Unicode之间Q可以很Ҏ做双向自p{换,而不会丢׃Q何资料?/font> </span> </font> </p> <font face="verdana, arial, helvetica"> <span id="wmqeeuq" class="javascript"> <p> <font face="verdana, arial, helvetica" size="2"> <span id="wmqeeuq" class="javascript" id="text2297287">解决办法Qؕ码问题在 NT操作pȝ我没怎么到q,但是在UNIX 或LINUXpȝ上出现的比较?br />׃操作pȝ和用环境不一P产生q的方式也不一P但是如果掌握了上面的Unicode ~码原理Q自׃l分析一下,很多问题便可q刃而解?br />下面看看几个常见的例子?br />1Q?如果一些网站服务器例如Tomcat 如果遇到中文q问题Q可以修改conf目录下的server.xml <br /><Connector port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"<br />enableLookups="false" redirectPort="8443" acceptCount="100" debug="0"connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="GBK"/><br />URIENcoding 设成GBK或GB2312<br />2Q?表单中或传递字W串Q本来输入的汉字是正常的Q但是提交后再显C出来是qQ因为提交的一般是 ISO8859~码Q所以显C的时候要转成GB2312~码Q?br /><br />String S=new String(rs.getString("news").getBytes("gb2312"),"ISO8859_1");<br />//rs为待转换的字W串<br />然后使用S字符串的值就可以?br />3Q?有的服务器端的语a环境如果设成体中文的也可以解xc问?br />4Q?插入数据库中的字W是q<br />看看数据库中支持的是何种~码方式Q用cM2中的方式作一下{换即可?br />5Q?MQ用jsp开发,到qQ你得分析是ȝ时候发生ؕ码,q是写的时候发生ؕ码,?中的转换Q基本就能解决问题,有些时候写的时候做一ơ{换,例如Q?br />String S=new String(rs.getString("news").getBytes("gb2312"),"ISO8859_1");<br />//ȝ时候在转换回来<br />String S=new String(rs.getString("news").getBytes("ISO8859_1"),"GB2312");<br />或者把ISO8859-1和GB2312 的位|换一下,自己多试试,p扑ֈ解决问题的办法?/span> <br /> <br />来自Q?a >http://blog.csdn.net/softj/archive/2006/03/15/625193.aspx</a></font> </p> </span> </font> <img src ="http://www.aygfsteel.com/tanghc/aggbug/35934.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/tanghc/" target="_blank">JavaWorm</a> 2006-03-18 14:24 <a href="http://www.aygfsteel.com/tanghc/archive/2006/03/18/35934.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <a href="http://www.aygfsteel.com/" title="狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频">狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频</a> </div> </footer> վ֩ģ壺 <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">֣</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ˮ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ƽ</a>| <a href="http://" target="_blank">ī񹤿</a>| <a href="http://" target="_blank">Ž</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Ӣɽ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ؿ˹</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Ұ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Ϫ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ǿ</a>| <a href="http://" target="_blank">Ȩ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ԣ</a>| <a href="http://" target="_blank">ƽ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">³</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">¦</a>| <a href="http://" target="_blank">山</a>| <a href="http://" target="_blank">Ӫɽ</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>