我的应用程序中99.9%的页面使用的是UTF-8编码。
但是对于客户端的一些特殊用例,我需要其中一个使用Unicode(每个字符2个字节)
就此而言,此页面的标题是:
<%@ page language="java" contentType="text/html; charset=unicode"%>
...<my content>...
当应用程序在Tomcat和Webspher上运行时,此实现可以正常工作并完成工作。但是,当它部署在Weblogic上时,我收到服务器错误: 不支持的编码:'unicode':java.io.UnsupportedEncodingException:unicode
有人知道如何强制Weblogic以'Unicode'编码方式发送页面吗?
答案 0 :(得分:3)
UTF-8 Unicode。 “Unicode”本身不是字符编码,它是字符映射标准(charset)。你的问题出在其他地方。也许你遇到了GET请求编码问题。这经常被忽视。然后,您可能会发现本文对于获取更多背景信息以及如何使Unicode现象在Java EE Web应用程序中起作用的完整解决方案非常有用:Unicode - How to get the characters right?
祝你好运。顺便说一句,“每个字符2个字节”是大多数UTF-16
编码的特征(0x0000直到0xFFFF用2个字节表示,而UTF-8
使用1,2和3每个子范围的字节数)。也许你只是想用它来代替?
答案 1 :(得分:1)
Unicode不是字符集,但有些字符集允许表示在Unicode系统中表示的字符。您已经知道 UTF-8 字符集,它根据系统中字符的位置对每个字符进行1,2,3或4个字节的编码。您似乎想要使用 UTF-16 字符集,它将每个字符编码为2或4个字节。
注意与BalusC提供的答案有关:这里我使用“charset”一词作为“Content-Type MIME标题中字符集编码部分的分母”。严格来说,Unicode提供的通用字符集是一个字符集,但我们没有严格指定带有字符集名字的字符集。