法语字符在javascript网格中无法正确显示

时间:2009-12-16 19:08:30

标签: character-encoding extjs

我们已将其中一个页面翻译为法语,并且页面中的所有html都显示完美。也就是说,有一个javascript表(ext js),重音字符没有正确显示。该页面在HTML元标记中编码为UTF-8,但当我查看FireBug时,我看到以下内容:

Accept-Charset ISO-8859-1,utf-8; q = 0.7,*; q = 0.7

我猜这个问题与ISO-8859-1有关。它有没有人知道为什么页面本身会显示正常,但是javascript组件里面的文字不会?你是否以某种方式为javascript文件单独指定编码?

2 个答案:

答案 0 :(得分:1)

Accept-Charset 标记提供一组已接受的编码 - 如果发送的所有数据均为UTF-8编码,那就别担心了。

你能详细说明究竟发生了什么吗?

  1. 你说“ javascript table ” - 我认为你是在JS中构建一个HTML表并将它放在DOM中?请详细说明,特别是w.r.t.任何角色转换。您是使用带属性的DOM元素构建HTML文本还是构建?
  2. JS在哪里获取数据?如果使用AJAX,您是否验证了该页面的编码?
  3. JS是否使用编码()解码()?那些不能正确处理UTF-8。
  4. <小时/> 的修改

    • 在浏览器中键入JS代码的URL,然后查看“页面信息”以查看编码。我敢打赌是ISO-8859-1,它可以解释标题问题。

    • 接下来,检查AJAX数据的编码。如果它是动态创建的,您可以:

      1. 在FireBug的控制台中启用“显示XMLHttpRequests”,
      2. 加载您的基本HTML页面,
      3. 打开FireBug控制台选项卡
      4. 展开AJAX GET / POST请求并打开响应子标签,
      5. 检查数据的编码,并根据需要进行修复。
    顺便说一下,我遇到了类似的问题,并没有完全解决问题(仍然不确定源数据是否编码不好)。

答案 1 :(得分:0)

分机有可能。作为安全预防措施,JS文件会删除无法识别的字符。

可以在许多地方指定“Accept-Charset”标题,包括作为某些HTML元素中的属性。您是否在违规文件中搜索了Accept-Charset(不区分大小写)?

相关问题