法文字符在javascript网格中无法正确显示
问题描述:
我们已将我们的一个页面翻译成法语,并且页面内的所有html都完美无瑕地显示。也就是说,有一个javascript表(ext js),重音字符显示不正确。该页面在HTML元标记中以UTF-8编码,但是当我查看FireBug时,看到以下内容:法文字符在javascript网格中无法正确显示
Accept-Charset ISO-8859-1,utf-8; q = 0.7,*; q = 0.7
我猜这个问题与ISO-8859-1有关。它有没有人知道为什么页面本身会显示正常,但javascript组件内的文本不会?你不知何故分别为JavaScript文件指定编码?
答
编辑:
的接收字符标签提供了一组是接受编码的 - 如果所有的数据发送是UTF-8编码,那么就不要担心。
你能详细说明究竟发生了什么吗?
- 你说“的JavaScript表” - 我想你是构建一个HTML表JS并将其放置在DOM?请详细说明,特别是w.r.t.任何字符转换。您是使用属性创建HTML文本还是使用DOM元素构建?
- JS从哪里获取数据?如果使用AJAX,您是否验证了该页面的编码?
- JS是否使用encode()或decode()?那些不能正确处理UTF-8。
编辑:
键入网址到浏览器的JS代码,并期待在 “页面信息” 看到其编码。我敢打赌它是ISO-8859-1,这将解释标题问题。
-
接下来,检查AJAX数据的编码。如果它是动态创建的,您可以:
- 启用 “显示XMLHttpRequests” 在Firebug的控制台,您的基本HTML页面上
- 负载,
- 打开Firebug控制台选项卡,
- 展开AJAX GET/POST请求并打开响应子标签,
- 检查数据的编码,并根据需要进行修复。
顺便说一句,我有类似的问题,并没有完全理顺的问题(还不能确定源数据不严重编码)。
这是一个EXT JS gridPanel表。该表由JS构建,并放入DOM中。 JS代码被调用onLoad()并驻留在一个单独的文件中。创建表时,JS文件在其中定义了法文字符。 AJAX用于获取表格的内容,但问题实际上出现在AJAX涉及之前定义的表格标题中。我不确定EXT JS是否使用编码或解码,但我不确定他们为什么会这样做表格标题。谢谢! – user77413 2009-12-16 21:54:41
哦,我认为“ext JS”是“外部JavaScript”,但现在我意识到/回想它是来自** www.extjs.com **的代码。 D'哦。 – NVRAM 2009-12-16 22:28:19
我没有意识到文件本身是编码的。我在我的代码编辑器中找到了设置编码的位置。将文件编码更改为UTF-8解决了问题。谢谢!!! – user77413 2009-12-17 00:25:16