在 servlet 中 象这样的值 \u9648 \u952e\u56fd 可以直接转成繁体中文,但在JSP中就不行,直接输出\u9648 \u952e\u56fd ,不知怎么转?在

pk3g9a 2003-08-24 10:44:11
在 jsp文件中已加了:

response.setContentType("text/html;charset=UTF-8");
request.setCharacterEncoding("UTF-8");

用 javabean 取同样的数据,再在 jsp页面中取得 javabean 返回的数据,可以显示成正确的中文,但在 jsp中直接取数据,显示出来的就是这样的\u9648 \u952e\u56fd ,请大伙帮帮我,在线等!!


...全文
115 27 打赏 收藏 转发到动态 举报
写回复
用AI写文章
27 条回复
切换为时间正序
请发表友善的回复…
发表回复
pokar 2003-08-25
  • 打赏
  • 举报
回复
你这个问题:

1. 数据库里的是 \u9648\u952e\u56fd ,这样的值绝对不对,你用phpmyadmin在utf-8编码下能不能看到值就知道了。

2. 你 写数据到数据库的程序有问题。

~-~ ~-~ ~-~ ~-~
^-^ ^-^ ^-^ ^-^
jkit 2003-08-25
  • 打赏
  • 举报
回复
试试看吧

public static String parseUnicodeString(String uStr) {

final int unicodeLen = 6;

if (uStr == null || uStr.length() % unicodeLen != 0) {
return null;
}

char[] strs = new char[uStr.length() / unicodeLen];

for (int i = 0; i < strs.length; i++) {
strs[i] = (char) Integer.parseInt(uStr.substring(i*unicodeLen + 2, i*unicodeLen + 6), 16);
}

return new String(strs);
}
joesen 2003-08-25
  • 打赏
  • 举报
回复
GZ
pk3g9a 2003-08-25
  • 打赏
  • 举报
回复
up
pk3g9a 2003-08-25
  • 打赏
  • 举报
回复
up
pk3g9a 2003-08-25
  • 打赏
  • 举报
回复
用 UTF-8 这一点我可以坚信
pk3g9a 2003-08-24
  • 打赏
  • 举报
回复
up
joesen 2003-08-24
  • 打赏
  • 举报
回复
GZ
pk3g9a 2003-08-24
  • 打赏
  • 举报
回复
up
pk3g9a 2003-08-24
  • 打赏
  • 举报
回复
up
pk3g9a 2003-08-24
  • 打赏
  • 举报
回复
我这里是 赋初始值啊:

user.setEname_first(resultset.getString("ename_first") // 这就是初始值啊);

public void setEname_first(String s)
{
ename_first = s; // 这里取啊
}
jkit 2003-08-24
  • 打赏
  • 举报
回复
如果你在servlet是对的,在servlet中给javabean付初始值即可。
pk3g9a 2003-08-24
  • 打赏
  • 举报
回复
To: jkit(郁闷之堕落的程序员)

怎么改??多谢!
jkit 2003-08-24
  • 打赏
  • 举报
回复
你把它们处理成一个英文字符串了。
pk3g9a 2003-08-24
  • 打赏
  • 举报
回复
up
pk3g9a 2003-08-24
  • 打赏
  • 举报
回复
1. 在jsp中;
out.print(hyfunc.callMenu(request,0));
在 javabean 中;
String title = rs.getString("title");
.....
return title

这种情况可以显示

2. 在 jsp 中:
String ename = user.getEname_last() + " " + user.getEname_first();
在 javabean 中:
先 在 usermanager.java 中
user.setEname_first(resultset.getString("ename_first"));

再 在 user.java 中;
public String getEname_first()
{
return ename_first;
}

public void setEname_first(String s)
{
ename_first = s;
}

这种得到的值为: \u9648 \u952e\u56fd

不知为什么
lijunisbug 2003-08-24
  • 打赏
  • 举报
回复
response.setContentType("text/html;charset=UTF-8");
request.setCharacterEncoding("UTF-8");

这句的问题!!!

<%@ page contentType="text/html;charset=gb2312" %>
pk3g9a 2003-08-24
  • 打赏
  • 举报
回复
请大家帮我顶一下,真的很急,在此谢谢大家。
pk3g9a 2003-08-24
  • 打赏
  • 举报
回复
真的很感谢,jkit(郁闷之堕落的程序员)你的帮忙

那应该怎么转?

jkit 2003-08-24
  • 打赏
  • 举报
回复
说明resultset.getString("ename_first")就有问题了,正确的应该是输出汉字陈键国,而不是 \u952e\u56fd。
加载更多回复(7)

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧