请问:在weblogic923下读取中文数字证书主题的时候,却出来的中文为“?”,怎么解决?谢谢
我的JSP:
<%@ page contentType="text/html; charset=GBK"%>
<%@ page import="java.security.cert.X509Certificate"%>
<%@page import="tools.StringCoding;"%>
<html>
<meta http-equiv="Content-Type" content="text/html; charset=GBK">
<body bgcolor="#FFFFFF" leftmargin="0" topmargin="0">
<%
//request.setCharacterEncoding("utf-8");
//获得certificate chain
X509Certificate[] ca = (X509Certificate[]) request
.getAttribute("javax.servlet.request.X509Certificate");
if (ca == null) {
out.println("No cert info!");
} else {
String serial = ca[0].getSerialNumber().toString();
java.security.Principal DN = ca[0].getSubjectDN(); byte[] byteutf8 = DN.toString().getBytes("iso8859_1");
char[] charutf8 = StringCoding.decode("utf-8",byteutf8,0,byteutf8.length);
byte[] bytegb = StringCoding.encode("gb2312",charutf8,0,charutf8.length);
String subdn_gb=new String(bytegb,"gb2312"); out.println("serial="+serial);
out.println("subdn_gb="+subdn_gb);
out.println("DN号="+DN); }
%>
</body>
</html> 我尝试过很多种方法:
1)配置WEB.XML
2)配置WEBLOGIC.XML
<charset-params>
<input-charset>
<resource-path>/* </resource-path>
<java-charset-name>utf-8 </java-charset-name>
</input-charset>
</charset-params>
3)配置servlet,filter 拦截进行编码转换
4)在JSP里进行编码转换,如上所示
5)request.setCharacterEncoding("utf-8"); 这几种方法都不行,取出来还是"?"
另外,同样的程序,不需要上面任何设置,部署在tomcat528 下就可以读出来中文。
请大牛帮忙在线等。
我的JSP:
<%@ page contentType="text/html; charset=GBK"%>
<%@ page import="java.security.cert.X509Certificate"%>
<%@page import="tools.StringCoding;"%>
<html>
<meta http-equiv="Content-Type" content="text/html; charset=GBK">
<body bgcolor="#FFFFFF" leftmargin="0" topmargin="0">
<%
//request.setCharacterEncoding("utf-8");
//获得certificate chain
X509Certificate[] ca = (X509Certificate[]) request
.getAttribute("javax.servlet.request.X509Certificate");
if (ca == null) {
out.println("No cert info!");
} else {
String serial = ca[0].getSerialNumber().toString();
java.security.Principal DN = ca[0].getSubjectDN(); byte[] byteutf8 = DN.toString().getBytes("iso8859_1");
char[] charutf8 = StringCoding.decode("utf-8",byteutf8,0,byteutf8.length);
byte[] bytegb = StringCoding.encode("gb2312",charutf8,0,charutf8.length);
String subdn_gb=new String(bytegb,"gb2312"); out.println("serial="+serial);
out.println("subdn_gb="+subdn_gb);
out.println("DN号="+DN); }
%>
</body>
</html> 我尝试过很多种方法:
1)配置WEB.XML
2)配置WEBLOGIC.XML
<charset-params>
<input-charset>
<resource-path>/* </resource-path>
<java-charset-name>utf-8 </java-charset-name>
</input-charset>
</charset-params>
3)配置servlet,filter 拦截进行编码转换
4)在JSP里进行编码转换,如上所示
5)request.setCharacterEncoding("utf-8"); 这几种方法都不行,取出来还是"?"
另外,同样的程序,不需要上面任何设置,部署在tomcat528 下就可以读出来中文。
请大牛帮忙在线等。
解决方案 »
- JSP中数据连接池问题,db.properties如何在CLASSPATH中设置
- 哪位帮我看一下这段脚本什么错误 在线等
- 最近在赶项目(购物网站),在做订单和订单项的action业务逻辑时候有问题,几天没解决,有点急!各位帮个忙,进来帮忙看下!谢谢!
- 关于使用org.apache.commons.net.ftp下载gif图片文件的问题
- output in the BodyTagSupport
- 关于servlet中获取ip问题
- 全部家当都拿出来,不要笑话我!我的问题也是让我百思不得其解!望热心的大虾帮忙!
- jsp中如何删除相对路径的文件??(
- JRun Studio,WebSphere Studio,NetBeans Web Module是些什么东西?
- jsp后台与Struts2后台怎么获得html中Post的Json数组呢?
- 快逸报表类EXCEL的高效报表设计
- 问一个关于iframe的问题
response.setCharacterEncoding("gbk");