我正在研究Spring和Hibernate中的项目。我正在从用户那里获得输入。用户可以输入印地文,英文或任何语言。如何从多种语言的用户获得输入
如果用户使用HINDI语言输入数据,那么我正在使用??????????像那样。
请告诉我如何从任何语言的用户获得输入的最佳方式。
我正在研究Spring和Hibernate中的项目。我正在从用户那里获得输入。用户可以输入印地文,英文或任何语言。如何从多种语言的用户获得输入
如果用户使用HINDI语言输入数据,那么我正在使用??????????像那样。
请告诉我如何从任何语言的用户获得输入的最佳方式。
你在哪里得到?您的应用程序可能存在多个图层。你有视图逻辑(通常是HTML),确保你的页面编码是UTF-8。 我真的不与字符编码有经验的,但我通常摆在我的网页中<head>
部分如下:
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
在我的JSP页面的第一行我也把类似:
<%@ page language="java" pageEncoding="UTF-8"%>
如果您通过AJAX调用发送您的请求,那么您也可能必须在那里定义编码。通常使用相同的编码作为你的网页(所以如果你按照前面的两个步骤),但你永远不知道。
然后下一步是您的网络容器。您可能可以在应用程序或Web容器中配置UTF-8。对于Tomcat,你必须编辑server.xml
并在<Connector>
你必须添加(如果不存在的话):
URIEncoding="UTF-8"
在你的网页描述符,你也可以配置一个字符编码过滤器是这样的:
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
然后你有UTF-8中的数据,但是我发现你使用的是Hibernate,所以我假设你也在持续数据。确保你可以插入UTF-8数据。
首先你可能有某种JDBC连接器。通常,您可以将以下参数添加到它使数据编码成UTF-8:
useEncoding=true&characterEncoding=UTF-8
有些数据库产品创建基于拉丁字母方案(我知道这是在MySQL默认前一阵子)方案。
然后,您还可以在构建应用程序之前定义字符编码。你可以的JSP文件自理定义的字符编码(不知道它的问题那么多),但如果你使用Maven构建,你还可以定义:
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
你应该做的最重要的事情是登录所有级别并查看请求出错的位置。如果您有不同的架构设计(例如,您可能正在使用Web服务),那么您可能需要添加其他配置。
如果你想比这更好的答案,你可能想给像一些额外的细节:
此外,您可能想要阅读this answer,因为它比我更详细地介绍了大多数步骤。