Java 希望使用RESTfulWeb服务通过JSON使用其他语言字体(印地语)作为响应
我有一个代码,它根据其url搜索数据库并生成相关结果。 当数据库中的数据是英语时,它工作得很好,但当我用我的语言(印地语)替换它时,它开始产生垃圾编码。从我的方法生成的JSON响应完美地生成了所需的数据,但浏览器没有以正确的方式(印地语)显示它Java 希望使用RESTfulWeb服务通过JSON使用其他语言字体(印地语)作为响应,java,json,web-services,Java,Json,Web Services,我有一个代码,它根据其url搜索数据库并生成相关结果。 当数据库中的数据是英语时,它工作得很好,但当我用我的语言(印地语)替换它时,它开始产生垃圾编码。从我的方法生成的JSON响应完美地生成了所需的数据,但浏览器没有以正确的方式(印地语)显示它 请帮我找出其中的错误。在您的回复中,尝试使用内容编码UTF-8 我试着从你的问题中复制文本,并用记事本将其保存在文本文件中。当我使用UTF-8编码时,它起作用了 我甚至尝试过在使用VisualStudio2010和SP1的MVC4项目中使用此文本 希望这
请帮我找出其中的错误。在您的回复中,尝试使用内容编码UTF-8 我试着从你的问题中复制文本,并用记事本将其保存在文本文件中。当我使用UTF-8编码时,它起作用了 我甚至尝试过在使用VisualStudio2010和SP1的MVC4项目中使用此文本 希望这有帮助
Vivek问题在于数据的字符编码。您正在使用一个名为UTF-8的。但是你的浏览器认为你使用的是一个叫做ISO-8859的浏览器,因为当你不告诉浏览器你想要什么时,这是HTML的标准。在java中,您可以使用HttpServletResposne对象来配置此信息。简单地说:
response.setCharacterEncoding("UTF-8");
然后浏览器将正确解释数据。这通常是通过一个过滤器或项目的另一个中心点来完成的,因为今天大多数项目都希望与UTF-8进行完整的通信,以避免在您现在面临的问题中运行(MediaType.APPLICATION_JSON+“charset=UTF-8”)
或
这在我的代码中丢失了,现在它工作正常了客户端是否提供了accept字符集头?这是怎么一回事?相反,服务器是否定义响应字符集?字符串是嵌入到html页面中还是作为AJAX响应发送?
response.setCharacterEncoding("UTF-8");
@Produces({MediaType.APPLICATION_JSON +";charset=utf-8"})