java 怎么将%u5927之类的转化成汉字

renxuanyao 2009-07-22 08:20:07
如题
...全文
836 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
renxuanyao 2009-07-30
  • 打赏
  • 举报
回复
现在传递中文在后台是解决了,可以正确输出中文,但现在是用在附件下载中的后台输出正常中文,但在前台弹出的附件提示框中的文件名为乱码,怎么解决?好像不能兼容啊,后台正常前台不正常。
peng_guan 2009-07-29
  • 打赏
  • 举报
回复
上面可以用
response.setContentType("text/html;charset=utf-8");可以转成中文.

String zijin=request.getParameter(new String("这里写传过来的参数名").getBytes("ISO-8859-1"),"gbk"));
接收输出zijin也可以实现
yehuai1990 2009-07-29
  • 打赏
  • 举报
回复
你电脑上装了jdk没咯
我这个方法的前提下就是 要先装个jdk
假如你装了jdk你可以在/C:\Program Files\Java\jdk1.6.0_10\bin目录下可以找到一个native2ascii文件,它可以帮你解决
wyj1983 2009-07-28
  • 打赏
  • 举报
回复
有个最笨的办法: 下载个unicode编码表,慢慢Ctrl+F 查找5927
connor_zheng 2009-07-28
  • 打赏
  • 举报
回复
如你在windows的话,你在c盘建一个文件1.txt ,把你要转化的汉字写在1.txt中,在控制台进入c盘输入
native2ascii 1.txt 2.txt。这样你就可以在2.txt中看到转换
yami251139 2009-07-28
  • 打赏
  • 举报
回复
请去google。。。ajax中文传参
Linyufa 2009-07-28
  • 打赏
  • 举报
回复
你是用ajax调用servlet吧, 你得把参数用encodeURIComponent编一下码, 如果你没有用字符编码过滤器,你还得在servlet的doPost或doGet第一行设置一下字符编码: request.setCharacterEncoding("utf-8");

var param = encodeURIComponent("nnnnnn等等等等kkk.doc");
var url = "xxxServlet?param=" + param;

var xmlHttp = (window.ActiveXObject) ?
new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest();
//设置回调函数
xmlHttp.open("GET", url, true);
xmlHttp.send(null);
  • 打赏
  • 举报
回复
什么叫 JS 调用 Servlet 传中文啊?

看看这个帖子吧,我在里面贴了一些 URL 传递中文参数相关的帖子,或许对你有所帮助:

http://topic.csdn.net/u/20090723/20/a6cee65b-12e2-449a-a767-1a2f93395d78.html
renxuanyao 2009-07-27
  • 打赏
  • 举报
回复
这样好像也不行,就是转不到JS传过来的汉字,谁有JS调用SERVLET,传参中文的例子吗?
「已注销」 2009-07-26
  • 打赏
  • 举报
回复
java.net.URLDecoder.decode(String s,String enc)
http://gceclub.sun.com.cn/Java_Docs/html/zh_CN/api/index.html
  • 打赏
  • 举报
回复
你又不是采用正则表达式替换,使用 String#replace 方法就可以了。

replace 和 replaceAll 都是全部替换,别被方法名给迷惑了。
renxuanyao 2009-07-25
  • 打赏
  • 举报
回复
to Linyufa:
你的方法在servlet里面不起作用啊,在MAIN中可以输出,在SERVLET里怎么转化呢?
renxuanyao 2009-07-25
  • 打赏
  • 举报
回复
我用str = str.replaceAll("%u", ""); 替换数据时出错了,不知道什么原因:
错误提示:
HTTP JVM: java.lang.NoSuchMethodError: java.lang.String: m
ethod replaceAll(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; not fou
nd: java.lang.String: method replaceAll(Ljava/lang/String;Ljava/lang/String;)Lja
va/lang/String; not found

用哪个字符串替换函数需要包含什么JAVA类呢?
renxuanyao 2009-07-24
  • 打赏
  • 举报
回复
不行啊,我的是%u5927,
jinxfei 2009-07-24
  • 打赏
  • 举报
回复
encodeURIComponent("nnnnnn等等等等kkk.doc");
indexchen 2009-07-24
  • 打赏
  • 举报
回复
将%u换为\u,然后直接赋给字符串即可
renxuanyao 2009-07-24
  • 打赏
  • 举报
回复
现在是用JS传参调用SERVLET,参数如:“nnnnnn等等等等kkk.doc”,怎么才能在servlet得到正确的字符串?
Linyufa 2009-07-24
  • 打赏
  • 举报
回复
试试这个
String str = "%u5927";
str = str.replaceAll("%u", ""); // str = "5927";
System.out.println((char)Integer.parseInt(str, 16));//printed "大"

如果你需要转换成的字符不指单个这样的unicode码,那你不妨用把这个unicode写成文件,如aaa.txt(不过注意每个字符要替换成 \\u 打头), 然后Properties类的load()方法装载进来, 再getProperty(key)即可.
Properties props = new Properties();
props.load(new FileInputStream("C:/aaa.txt");
System.out.println(props.getProperty("xxx.key"));
jinxfei 2009-07-22
  • 打赏
  • 举报
回复
直接new String("\u1234");即可。
因为\uxxxx就是unicode,在java源代码被扫描的过程中就会被转成对应的字。
zjc_love 2009-07-22
  • 打赏
  • 举报
回复
不知道 new String(str,"编码")能出来不~
加载更多回复(2)

81,092

社区成员

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

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