有关XML,XSL的中文问题,很不一般的!!!!!!!

whiteclude 2001-09-12 03:41:18
我用XSL构造一个表单,有个字段为中文,但是get给一个servlet时发现乱码了,网上的办法用了一堆,没有一个可以解决的

这是xml和xsl的测试例子,
test.xml
<?xml version="1.0" encoding="gb2312" ?>
<?xml-stylesheet type="text/xsl" href="modify.xsl"?>
<node>
<id>1</id>
</node>

modify.xsl
<?xml version="1.0" encoding="gb2312" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<xsl:template match="/">
<HTML>
<BODY>
<form name="modify" method="get" action="modify.servlet">
<input type="text" name="value" value="解放军"/><br/>
input type="text" name="name" value="ggggg"/><br/>
<input type="submit" name="submit" value="sumbit" />
</form>
</BODY></HTML></xsl:template>
</xsl:stylesheet>

结果提交出去的表单的value的值不能解析为中文
...全文
182 14 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
wilddragon 2001-09-22
  • 打赏
  • 举报
回复
好睡了
wilddragon 2001-09-21
  • 打赏
  • 举报
回复
支持一把
Zee 2001-09-20
  • 打赏
  • 举报
回复
作转换的Js函数:
function revertUTF8(szInput){
var x,wch,wch1,wch2,uch="",szRet="";
for (x=0; x<szInput.length; x++){
if (szInput.charAt(x)=="%") {
wch =parseInt(szInput.charAt(++x) + szInput.charAt(++x),16);
if (!wch) {
break;
}
if (!(wch & 0x80)) {
wch = wch;
} else if (!(wch & 0x20)){
x++;
wch1 = parseInt(szInput.charAt(++x) + szInput.charAt(++x),16);
wch = (wch & 0x1F)<< 6;
wch1 = wch1 & 0x3F;
wch = wch + wch1;
} else {
x++;
wch1 = parseInt(szInput.charAt(++x) + szInput.charAt(++x),16);
x++;
wch2 = parseInt(szInput.charAt(++x) + szInput.charAt(++x),16);
wch = (wch & 0x0F)<< 12;
wch1 = (wch1 & 0x3F)<< 6;
wch2 = (wch2 & 0x3F);
wch = wch + wch1 + wch2;
}
szRet += String.fromCharCode(wch);
} else {
szRet += szInput.charAt(x);
}
}
return(szRet);
}

servlet里的类似函数你自己写把。
whiteclude 2001-09-20
  • 打赏
  • 举报
回复
up
whiteclude 2001-09-20
  • 打赏
  • 举报
回复
高手,高手,特意留帖一天,明天一早给分
xmlingo 2001-09-19
  • 打赏
  • 举报
回复
你试一下这一个
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" encoding="GB2312" version="1.0"/> <!--xml 输出-->
另外你的xml 及xsl文件编码最好设为一致的GB2312 或者UTF-8


whiteclude 2001-09-19
  • 打赏
  • 举报
回复
那,请问,你怎么把%E8%A7%A3%E6%94%BE%E5%86%9B这个转换为'解放军'呢,有什么办法
Zee 2001-09-19
  • 打赏
  • 举报
回复
从XML/XSL提交上去的Form Data里的Z文都是UTF8 编码的。
你要这么用 的话,怎么改XML都没有用的,还是要在Server Side想办法,UTF8->GB2312的转换程序不是很难找的。
whiteclude 2001-09-19
  • 打赏
  • 举报
回复
还是没有向好的方面发展的反应,依旧是三个%xx标识一个汉字,是谁的错呢
whiteclude 2001-09-17
  • 打赏
  • 举报
回复
"http://www.w3.org/1999/XSL/Transform"模版我早就试过了,但是问题依旧
Zee 2001-09-16
  • 打赏
  • 举报
回复
你提交的表单里的中文是Utf8编码的,要在Server断转换回Gb2312
hydnoahark 2001-09-13
  • 打赏
  • 举报
回复
你应该使用
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
它支持xsl:output,在此元素中指定encoding属性为GB2312试试(我在直接作XML+XSL->HTML)就是这么做的:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output encoding="GB2312"/>
whiteclude 2001-09-13
  • 打赏
  • 举报
回复
不行阿,我提交上去的表单的value为value=%E8%A7%A3%E6%94%BE%E5%86%9B
是三个%xx构成一个汉字,但是应该是两个%xx构成一个汉字,servlet那边才可以正确解析
xmlingo 2001-09-13
  • 打赏
  • 举报
回复
<?xml version="1.0" encoding="gb2312" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<!--应添加此句-->
<xsl:output method="html" encoding="UTF-8" version="4.0"/>
<xsl:template match="/">
<HTML>
<BODY>
<form name="modify" method="get" action="modify.servlet">
<input type="text" name="value" value="解放军"/><br/>
input type="text" name="name" value="ggggg"/><br/>
<input type="submit" name="submit" value="sumbit" />
</form>
</BODY></HTML></xsl:template>
</xsl:stylesheet>

XML 指南 在我们这个XML指南里你将学到什么是XMLXML和HTML有什么不同。你将学习如何在你的应用软件中使用XML。下面就开始学习XML吧。 XML 实例 通过例子来学习! 通过我们的编辑器,你可以编辑XML,点击测试按钮去查看结果。自己去试试吧。 XML 测验 在W3Schools里测试你的XML技能! 开始XML测验! -------------------------------------------------------------------------------- 目录表格 XML 基础 XML初步介绍 什么是XML, XML和HTML有什么不同? XML有什么用途 XML经常在许多不同的行业中用到。 XML语法 XML的语法规则非常简单并且十分严格。 XML元素 XML元素, 关联,内容和命名规则。 XML属性 How XML属性可以用来描述元素,提供元素的补充说明。 XML确认 一个好的正确的XML文档以及如何用DTD来定义XML文档。 XML的浏览器 目前两个最著名的浏览器都支持XML。 用微软的IE来查看XML 怎样用微软的IE去观看XML文件。 使用CSS来显示XML 怎样用微软的IE和CSS来显示XML文件。 使用XSL来显示XML 怎样用微软的IE和XSL来显示XML文件。 在HTML中植入XML 怎样在HTML文档中植入XML。 微软的XML解析器 怎样使用微软的XML解析器去打开和操作XML文档。 XML在现实生活中的应用 我们将看一下在现实生活中XML的应用。 XML 高级部分 XML命名空间 怎样使用XML命名空间来避免元素命名冲突。 XML CDATA 怎样让XML解析器知道某些文字不进行解析呢。使用CDATA。 XML编码 怎样把你的XML文档编码。 XML服务器 怎样在服务器上产生XMLXML应用 怎样使用IE 5来操纵XML文件以及怎样产生一个完善的XML应用。 XML HTTP 请求 怎样利用HTTP从服务器发送请求。 HTML and XML的行为 怎样使用最新的CSS行为选择器来产生动态目录。 XML技术 XML技术重要的是理解和发展XML应用。 -------------------------------------------------------------------------------- XML实例 XML 例子 大量的XML例子!!

8,907

社区成员

发帖
与我相关
我的任务
社区描述
XML/XSL相关问题讨论专区
社区管理员
  • XML/XSL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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