无法使用java在mysql中存储印地语文本
我正在mysql中获取存储为¥a¥a¥a¥a¥a¥a¥a¥a¥a¥a¥的数据。它在localhost中运行良好,但在远程mysql(在plesk中)中不起作用。 我使用了以下方法:无法使用java在mysql中存储印地语文本,java,mysql,centos,java-7,plesk,Java,Mysql,Centos,Java 7,Plesk,我正在mysql中获取存储为¥a¥a¥a¥a¥a¥a¥a¥a¥a¥a¥的数据。它在localhost中运行良好,但在远程mysql(在plesk中)中不起作用。 我使用了以下方法: request.setCharacterEncoding("UTF-8"); response.setCharacterEncoding("UTF-8"); 在servlet和 con=DriverManager.getConnection("jdbc:mysql://localhost:3306/project
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
在servlet和
con=DriverManager.getConnection("jdbc:mysql://localhost:3306/projectkkm?useUnicode=yes&characterEncoding=UTF-8","root","");
在数据库连接中
<%@page pageEncoding="UTF-8" %>
在jsp中
现在根据我的研究,我发现问题出在Java中。
java for linux不支持印地语文本请参阅url:
在我的本地主机(Windows)中,它可以正常工作,但当我将它部署到centos(linux)平台时,它就不工作了。
我认为问题可能在于Windows/linux的兼容性
有人能帮我处理这件事吗。我确信问题不是来自mysql方面。似乎您的远程数据库配置不正确
SHOW VARIABLES LIKE 'char%';
应该显示
character_set_client utf8
character_set_connection utf8
character_set_database utf8
character_set_filesystem binary
character_set_results utf8
character_set_server utf8
character_set_system utf8
如果没有,您应该修复/etc/mysql/my.cnf
在[mysqld]部分添加以下配置
character-set-server = utf8
init-connect='SET NAMES utf8'
collation-server=utf8_general_ci
放入[client]和[mysqldump]部分:
default-character-set=utf8
然后重新启动mysql尝试添加
<filter>
<filter-name>setCharacterEncodingFilter</filter-name>
<filter-class>org.apache.catalina.filters.SetCharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>setCharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
setCharacterEncodingFilter
org.apache.catalina.filters.SetCharacterEncodingFilter
编码
UTF-8
setCharacterEncodingFilter
/*
在web.xml中
<Connector URIEncoding="utf-8" connectionTimeout="20000" port="8084" protocol="HTTP/1.1" redirectPort="8443"/>
在您的tomcat apache服务器配置文件中使用上述代码开始探索mysql编码/charset/collation选项您确定请求对象是UTF-8编码的吗?转储标题并查看。还要检查任何字段的编码,它们可能编码不同。什么是MySQL版本?MySQL版本是5.6您使用的web容器?我假设tomcat,所以这个类文件是由容器提供的。如果容器不同,则库文件将特定于该容器。或者您应该包括包含这个类的jar。我正在使用ApacheTomcathen,jsp页面中是否缺少它。对我来说,mysql连接字符串是useUnicode=true&characterEncoding=utf-8。在你的版本中,在我的本地主机窗口平台中有“yes”而不是“true”,它工作正常,但是当我将它部署到centos(linux)时,它就不工作了