mysql - 保存非英语字符时出现问题

标签 mysql spring hibernate spring-mvc utf-8

我们正在处理一个应用程序,我们需要用 Gujarati 语言保存数据。

应用中使用的技术如下所示。

  • Spring MVC 版本 4.1.6.RELEASE
  • hibernate 版本 4.3.5.Final
  • MySQL 6.0.11

我的 JSP 配置为

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

hibernate 配置是

<prop key="hibernate.connection.useUnicode">true</prop>
<prop key="hibernate.connection.characterEncoding">UTF-8</prop>
<prop key="hibernate.connection.charSet">UTF-8</prop>

MySQL 网址是

jdbc:mysql://host:port/dbName?useUnicode=true&connectionCollation=utf8_general_ci&characterSetResults=utf8

Pojo 有 String 字段来存储该数据。

MySQL 有 VARCHAR 数据类型来存储数据 charset=utf8Collat​​ion=utf8_general_ci

当我尝试保存任何非英语(古吉拉特语)字符时,它会显示一些乱码,例如 àª?à«?àª? 表示“ગુજ”。

还有我在这里遗漏的任何其他配置吗?

最佳答案

我在将“tamil”字符插入数据库时​​遇到了同样的问题。经过大量冲浪后,我得到了一个更好的有效解决方案,它解决了我的问题。在这里,我与以下人分享我的解决方案you.I hope it will help you clear your about that Non English character.

INSERT INTO 
STUDENT(name,address) 
VALUES 
(N'பெயர்', N'முகவரி');

我正在使用示例,因为您没有向我提供任何表结构和字段名称。

关于mysql - 保存非英语字符时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31814488/

相关文章:

java - Hibernate:如何创建保存的过滤器然后使用它们?

java - Hibernate 标准在属性上相同

mysql - 在 Mysql 中使用正则表达式替换

php - 变量 'innodb_lock_wait_timeout' 是只读变量

php - 将PHP连接到MYSQL时发生mysqli_error()

java - 在 war 项目中加载文件图像

mysql - 使用 Knex 通过 Waterline/Sails 进行迁移

java - 测试响应式(Reactive)存储库 java.lang.AssertionError : expectation "assertNext" failed (expected: onNext(); actual: onComplete())

spring - 使用 Spring 的 JSR-303 bean 验证没有启动

java - 如何解决 JSR-303 自定义 validator 中的依赖关系