当前页面: 开发资料首页 → JSP 专题 → JSP页面的中文显示问题!
JSP页面的中文显示问题!
摘要: JSP页面的中文显示问题!
在一个JSP页面中,用Java语言写了一段程序,产生一个中文的String变量,此时用System.out.print显示这个中文String,没有问题,然后在这个JSP页面的一个表单中显示这个String变量的时候,当这个变量为一般的中文字符没有问题,若这个String变量为生僻字十则不能显示,如“翀”显示为“?”,请高手解答!谢谢
页面编码都为gb2312,如果单独在页面输入“翀”字,也能显示为“翀”
编码改为GBK看看
会不会是放到数据库中后,数据库中可能不认识?
没有存放到数据库
将编码该成iso-8859-1看看吧,
把代码帖出来看看撒
<%@ page contentType="text/html; charset=GB2312" %>
<%@ page language="java" %>
<%@ page session = "true" %>
<%@ page errorPage="../ExceptionErrorPage.jsp" %>
<%@ page import = "java.util.*" %>
<%@ page import = "com.cascc.avidm.dt.lib.utility.DateFormatter"%>
<%@ page import = "com.cascc.platform.aa.org.user.UserData"%>
<%@ page import = "com.cascc.platform.aa.org.ejb20.*"%>
<%@ page import = "com.cascc.platform.aa.AAContext"%>
<%@ page import = "com.cascc.avidm.login.model.PersonModel"%>
<%@ page import = "com.cascc.platform.domain.util.ServiceLocator"%>
<%@ page import = "com.cascc.avidm.util.AvidmConstDefine"%>
<%@ page import = "com.cascc.platform.aa.org.position.PositionData"%>
<%
String userid="";
String username="";
try{
PersonModel person = (PersonModel)session.getAttribute("person");
userid = person.getUserIID();
username=person.getUserName();
System.out.println(username); //这里显示中文正常
}catch(Exception e){}
%>
<head>
<link> rel="stylesheet" type="text/css" href="../css/avidm.css">
</head>
<body>
<form name="tran" method="get" >
<input type="textt" name="username" value="<%=username%>">//这里显示生僻中文显示为“?”
</form>
</body>
其中引入了很多自己编写的类
gb2312是一个相对比较小的字符集,用GBK或者utf-8吧
将"<%=username%>"该成
"<%=new String(username.getBytes("GBK"));%>"
就可以了
谢谢,偶想去试试,待会来给分!
在jsp页面文件头中加上<%=request.setCharacterEncoding("gb2312")%>
你页面的charset=GB2312都改成 charset=GBK 应该就可以了
学到了,上午我也遇到这个问题了,现在解决了
OnlyFor_love(『不给我分 就剪掉楼主小鸡几』)
用你的方法试了,还是不行那?
dlc_hot() ,不厚道,说说证明解决的杀
来晚了
<%@page pageEncoding="GB2312"%>
试试看
OnlyFor_love(『不给我分 就剪掉楼主小鸡几』) ( ) 信誉:131 2006-08-18 14:30:00 得分: 0
将"<%=username%>"该成
"<%=new String(username.getBytes("ISO8859-1"),"GBK");%>"
就可以了
这样试试
将"<%=username%>"该成
"<%=new String(username.getBytes("ISO8859-1"),"GBK")%>"
表达式后面不要分号的,刚才写错了
老大,这个“翀”字是一个繁体字,写不了的。
就比如“长堎”是一个旧时候就有的地名,你用一般的五笔,你是打不出来的。
在数据库中你是可以插入进去的,但是你要是想用IE来显示却始终显示不出来。
我也遇到同样的问题,郁闷了几天,最后只好帮他改名字了,要不楼主换个别的字。因为用户打这个字都很难打得出来。最后只好做罢。
不知道有没有高手有什么好的高见。
<%@ page contentType="text/html;charset=GBK"%>
<head>
</head>
换成这样子看看!产生你所说的错误的原因在与gb2312的字符集只包含常见的中文字,
它是GBK的子集!
路过,友情up!
<%request.setCharacterEncoding("gb2312");%>试试
String username=new String(username.getBytes("ISO8859-1"),"GBK");
System.out.println("username : "+username);
一定是对的,今天我刚好碰到这个问题............................
up
up 我也顶
可以在页面顶端调一个指令啊<%@ page charset=gb2312"%>就可以解决用jsp动作嵌入的乱码问题啊
不错的方法
有几个确实行啊
对.有几个构思是不错.研究中...
------------------------------------------------------------------------------------
100M.Net空间+50M企业邮局=60元/年
100M.Net空间+国际顶级域名=100元/年
国际顶级域名.com.net.cn=50元/年
本站申请域名可绑定免费10M Asp.Net空间
1000M.Net空间 + 100M MsSql数据库 + 1000M企业邮局 + 顶级域名=600元/年
数据库 企业邮局 网站推广 整机租用 美国空间 网站建设 均有售
还有很多优惠套餐提供给各个用户层.
有意者可联系电话:021-64802212 传真:021-64802212
咨询信箱:info@kingtoo.com 咨询OICQ:68311305,379620139 81778640
欢迎光监点石成金网 http://www.boxigroup.com 网站提供web开发(j2ee .net asp php javascript、c#等) c/s开发(delphi、vb、vc、pb、cb等) 数据库开发(oracle、sqlserver、db2、access、mysql、Postgresql、informix)等学习资料,希望能为你解决燃眉之急 ,请把本网站加入收藏夹,以备不时查询之需 bs+cs讨论群(9638134)
欢迎光监点石成金网 http://www.boxigroup.com 网站提供web开发(j2ee .net asp php javascript、c#等) c/s开发(delphi、vb、vc、pb、cb等) 数据库开发(oracle、sqlserver、db2、access、mysql、Postgresql、informix)等学习资料,希望能为你解决燃眉之急 ,请把本网站加入收藏夹,以备不时查询之需 bs+cs讨论群(9638134)
GB2312
==>
GBK
GB18030
呵呵~~~我也顶一下
页面编码都为gb2312
谢谢帮顶,问题已经解决!
正解(不唯一)是:将charset改为GBK!
XX 2!