如何修复'�'我页面上的符号?servlet和Javascript之间似乎发生了一些事情
How can I fix the '�' symbols on my page? It seems to be something happening between the servlet and the Javascript.
我的servlet给了我一个CSV文件,其中包含诸如"é"、"á"或"õ"之类的字符。当我通过浏览器打开servlet时,它运行良好。但当信息到达我的页面时�.
我尝试更改实际数据库中的编码,但没有成功。
console.log(csv)
,其中csv是来自servlet的信息,它也充满了'�'s.
我甚至不确定问题出在哪里,因为实际页面上有几个拉丁字符,它们的显示方式很正确。
我使用的是Microsoft SQL'08,同时尝试了nvarchar和varchar字段。
必须指示服务器使用UTF-8对JSP输出进行解码。这可以在每个JSP的基础上由完成
<%@page pageEncoding="UTF-8"
%>
或在应用范围内通过
<jsp-config>
<jsp-property-group>
<url-pattern>*.jsp</url-pattern>
<page-encoding>UTF-8</page-encoding>
</jsp-property-group>
</jsp-config>
请参阅此处了解更多信息。
Ankur发布的内容似乎解决了大多数问题,但我在编码方面仍然会不时遇到问题。我真的希望你不必这么做,但我被迫制作了一个小的解码功能,用网络安全的字符替换有问题的字符(通过使用它们的'''u'代码)。
看起来页面的编码实际上是ISO-8859-1。在stackoverflow周围搜索用户提到的术语时,我发现了这个:
jQuery$.get()在没有设置头的情况下回复的字符集?
发生此错误的原因是,无论Ajax得到什么,都没有标头,在$.get命令解决此问题之前设置此标头:
$.ajaxSetup({
'beforeSend' : function(xhr) {
xhr.overrideMimeType('text/html; charset=ISO-8859-1');
},
});
现在,我不知道为什么服务器没有配置为更实用的字符集。
相关文章:
- java.net和javascript之间正则表达式的差异
- JavaScript中的函数和对象之间没有区别吗?
- 如何使用JavaScript查找1和N之间的所有数字的总和
- 如何在javascript中获取两个日期之间的周六和周日的日期
- javascript函数的:和=之间的区别
- PHP和Javascript之间的Regex差异
- 是否有任何JavaScript UI组件可以显示字符串之间的差异
- javascript中两年之间的小时差(带闰年)
- 如何在javascript中显示两年之间的所有闰年
- Math.min()和Math.max()之间有什么区别?在Javascript中
- 使用javascript单击同一按钮,在两种样式之间更改css值
- 如何使用Node.js在JavaScript模块文件之间使用事件处理程序
- 定时循环,使用Javascript在2个循环之间间隔x秒
- Javascript 类型未定义和 void 之间的区别
- Regex用于年龄验证,仅使用Javascript接受0-200岁之间的年龄
- JavaScript/jQuery-添加添加和删除类与下一个函数之间的延迟
- 使用解析为javascript源的.php,如何使用条件语句将javascript代码封装在php括号之间
- Javascript-defineProperty和直接在对象上定义函数之间的区别
- 在JavaScript中,如何修复元素显示和变量创建之间的初始差异
- 输入检查用户输入的值介于 0-9 之间 Javascript