乱码问题:html转义字符的转换,在线!

fggph 2006-07-31 11:22:18
我的数据库里保存了由浏览器提交的转义字符
怎样把他还原成源文

这种乱码的源文是法文
这种乱码只有浏览器可以识别,应该属于html转义字符,
以下为数据库的乱码:
ë
ô
Æ
ç
¹
Ê
Ò
ë

java有转换函数吗?怎样把他还原成源文,郁闷很久了,非常感谢
...全文
2363 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
fggph 2006-08-03
  • 打赏
  • 举报
回复
经测试, 帮我写的程序可以转换了,
现在将所有的转义字符贴在这里,供需要的朋友参考。
太感谢maquan('ma:kju)
特殊字符
符号 实体 举例
版权注释 © Copyright © 1999 W3C
注册商标 ® MagiCo ®
商标 ™ Webfarer™
小于(Less than) < <
大于(Greater than) > >
Ampersand & &
nonbreaking space  
破折号 — —
引号(quotation) " "

一些实体表示拉丁文字符集Latin-1中的音标和杂符:

    Ð Ð Ð
¡ ¡ ¡ Ñ Ñ Ñ
¢ ¢ ¢ Ò Ò Ò
£ £ £ Ó Ó Ó
¤ ¤ ¤ Ô Ô Ô
¥ ¥ ¥ Õ Õ Õ
¦ ¦ ¦ Ö Ö Ö
§ § § × × ×
¨ ¨ ¨ Ø Ø Ø
© © © Ù Ù Ù
ª ª ª Ú Ú Ú
« « « Û Û Û
¬ ¬ ¬ Ü Ü Ü
¬ ­ ­ Ý Ý Ý
® ® ® Þ Þ Þ
¯ ¯ ¯ ß ß ß
° ° ° à à à
± ± ± á á á
² ² ² â â â
³ ³ ³ ã ã ã
´ ´ ´ ä ä ä
µ µ µ å å å
¶ ¶ ¶ æ æ æ
• · · ç ç ç
¸ ¸ ¸ è è è
¹ ¹ ¹ é é é
º º º ê ê ê
» » » ë ë ë
¼ ¼ ¼ ì ì ì
½ ½ ½ í í í
¾ ¾ ¾ î î î
¿ ¿ ¿ ï ï ï
À À À ð ð ð
Á Á Á ñ ñ ñ
   ò ò ò
à à à ó ó ó
Ä Ä Ä ô ô ô
Å Å Å õ õ õ
Æ Æ Æ ö ö ö
Ç Ç Ç ÷ ÷ ÷
È È È ø ø ø
É É É ù ù ù
Ê Ê Ê ú ú ú
Ë Ë Ë û û û
Ì Ì Ì ü ü ü
Í Í Í ý ý ý
Î Î Î þ þ þ
Ï Ï Ï ÿ ÿ ÿ
maquan 2006-07-31
  • 打赏
  • 举报
回复
做了个很粗糙的转换程序给你,只表示个大概的意思。
另外,转换完的字符串是不能用来直接打印的(打印出来看上去是乱码,因为一般控制台不支持这个字符集)

package test;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Test22 {

public static void main(String[] args) {
String src = "hello, ë ô !";
System.out.println(src);
System.out.println(filterEntities(src));
}

public static String filterEntities(String src) {
StringBuffer sb = new StringBuffer();
Pattern p = Pattern.compile("&[a-zA-Z]*;");
Matcher m = p.matcher(src);
int pos1 = 0;
while (m.find(pos1)) {
int pos2 = m.start();
sb.append(src.substring(pos1, pos2));
String entity = m.group().toLowerCase();
if ("ë".equals(entity)) {
sb.append((char)203);
} else if ("ô".equals(entity)) {
sb.append((char)212);
} else {
sb.append("[UNKNOWN]");
}
pos1 = m.end();
}
sb.append(src.substring(pos1));
return sb.toString();
}
}
fggph 2006-07-31
  • 打赏
  • 举报
回复
有人知道吗,我等了很久了。
fggph 2006-07-31
  • 打赏
  • 举报
回复
http://msdn.microsoft.com/workshop/author/dhtml/reference/charsets/charset1.asp,
这个好像是我找得字符,怎么转过来呀,有人做过这个东西吗
maquan 2006-07-31
  • 打赏
  • 举报
回复
这个不能算“乱码”吧?这是 HTML 用来表示特殊字符的一种表示法,就是你说的“转义字符”。

Java 有没有现成的转换函数我不清楚。有兴趣的话,按照下面的码表自己做一个转换程序吧 :)

http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/reference/charsets/charset2.asp
fggph 2006-07-31
  • 打赏
  • 举报
回复
我马上试试maquan('ma:kju)的转换程序。先谢谢了

62,623

社区成员

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

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