JiveJdon Community Forums
在线452人   首页   主题表   培训咨询   标签   精华   查搜   注册    登陆 RSS
首页 » 论坛 » J2EE/JavaEE/JEE/EJB/JSF等技术讨论
???en_US.forumThreadPrev.name??? 上一主题
  Go back to the topic 返回本主题   Go back to the topic listing返回主题列表
???en_US.forumThreadNext.name??? 下一主题
Go 总共有 3 回复 / 1
 发表新帖子   回复该主题贴
dongzw

悄悄话
发表文章: 1
注册时间: 2005年09月16日 09:05
有关java的unicode编码的问题,大家帮忙 2005年09月16日 09:12 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
标签列表
1:从网络上来的数据是byte流,包含二进制数据,我该如何读取才能不破坏数据的完整性。
2:是不是所有的文件都是偶数个byte的大小
3:从一个流里read char或者string的时候,java是直接的将两个byte作为一个char还是对于单独的每个byte编码为一个char
banq

悄悄话
发表文章: 9528
注册时间: 2002年08月03日 17:08
Re: 有关java的unicode编码的问题,大家帮忙 2005年09月16日 09:26 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
要看对方从网络上传过来的是什么编码,一般你最好做个过滤器,将对方编码转换成UTF-8,在你自己内部统一成UTF-8
Kyle_Yin

悄悄话
发表文章: 96
注册时间: 2005年09月09日 04:27
Re: 有关java的unicode编码的问题,大家帮忙 2005年09月16日 14:09 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
UNICODE编码并不是简单的每自符两字节. 实际上多数中文字符在所谓"扩展平面", 是三字节或者更多. 具体是两字节一个字符还是三字节一个字符是靠前行字节的值来确定的.

不要试图手工做解码.

重要原则是确保通信双方用同样的编码.

1. 如果双方都是JAVA程序, 用 SOCKET + PrintStream 通信, 那么打开STREAM时, 明确指定编码:
PrintStream(OutputStream out, boolean autoFlush, String encoding)
InputStreamReader(InputStream in, String charsetName)
用UTF-8作encoding/charset参数.

2. 双方都是JAVA程序, 用 ObjectStream 通信, 应该直接就可以WORK. String 对象内部状态里有编码信息.

3. 流览器对JAVA程序:
输出(JSP, SERVLET): 指定 content="text/html; charset=UTF-8"
输入: 首先确保服务器支持UTF-8编码. WEBLOGIC缺省状态即支持UTF-8. WEBSPHERE要手工设置: default.client.encoding=UTF-8 或者 client.encoding.override=UTF-8. 这样, 从HTTPServletRequest.getParameter()读出的直接就是正确编码的STRING.

4. 或者, 用LATIN-1 (ISO-8859-1)编码, 双方都读/写"raw data", 然后通过STRING的API:
byte[] String.getBytes(String encoding)和
constructor String(byte[], String charset)
映射到UTF-8.

5. legacy 对JAVA通信: 要具体研究了. 呵呵.


Kyle_Yin

悄悄话
发表文章: 96
注册时间: 2005年09月09日 04:27
Re: 有关java的unicode编码的问题,大家帮忙 2005年09月16日 14:12 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
对了, 在流览器情况下, 还要确定流览器本身支持UTF-8编码, 客户端输入使用UTF-8编码.
SERVER端RENDER出去的URL需要经过 RLEncoding.encode(String url)处理.
这个主题有 3 回复 / 1Go
???en_US.forumThreadPrev.name??? 上一主题
  Go back to the topic 返回本主题   Go back to the topic listing返回主题列表    返回页首返回页首
???en_US.forumThreadNext.name??? 下一主题
热点TAG: AOP cache 缓存 DDD EJB 集群 设计模式 Hibernate IOC JiveJdon OO RBAC Seam Spring Struts
正在读取,请等待...
google yahoo 新浪ViVi 365Key网摘 天极网摘 CSDN网摘 添加到百度搜藏 POCO网摘 博采网摘
查询本论坛内 回复超过的热门帖子
     回复该主题贴
标题
 
粗体 斜体 下划线 插入图片 插入代码 插入url链接 插入附件
内容
  每2分种自动备份发贴内容Ctrl-V粘贴取出,提问题前先查询标签列表

RSS 手机阅读 add to google add to yahoo
解惑之道在J道 ,打造中国最具影响力的的企业软件社区
OpenSource JIVEJDON v3.0 Powered by JdonFramework Code © 2002-08 jdon.com

anti spam