北欧JavaScript编码麻烦

时间:2015-10-19 09:51:59

标签: javascript xslt localization

我在XSL样式表中有这段JavaScript:

  function outputUrl() {
      var currentScripts = document.getElementsByTagName('script');
        var lastScript = currentScripts[currentScripts.length - 1];
        var fileUrl = window.location.href;
        var steps = fileUrl.split('/');
        var fileName = steps[steps.length - 1];
        lastScript.parentNode.replaceChild(document.createTextNode(fileName),     lastScript);
  }

现在,此代码显示由样式表转换的当前XML文件的名称,并且它可以很好地工作 - 直到某些北欧字符ÅÄÖ或åäö显示在文件名中。然后它将例如显示字母Ö为%C3%96。

有什么方法可以解决这个问题吗?

非常感谢提前: - )

/保

2 个答案:

答案 0 :(得分:2)

在JavaScript中,decodeURI(fileName)应该按照doc

中的说法运行

答案 1 :(得分:-1)

以下是可用的JavaScript代码:

 function outputUrl() {
      var currentScripts = document.getElementsByTagName('script');
        var lastScript = currentScripts[currentScripts.length - 1];
        var fileUrl = window.location.href;
        var steps = fileUrl.split('/');
        var fileName = steps[steps.length - 1];
        var dec = decodeURI(fileName);
        lastScript.parentNode.replaceChild(document.createTextNode(dec), lastScript);
      }