当前位置: 首页 > 知识库问答 >
问题:

在mysql中保存utf-8失败

朱兴安
2023-03-14

我正在尝试用utf-8语言保存文本(希伯来语-阿拉伯语-等等)但它失败了。。首先,它给了我(???)所以我把它放在数据源中。groovy dbCreate=“update”url=“jdbc:mysql://localhost/db_name?useUnicode=yes

它给了我一个错误

错误。JDBCException记者-非法混合排序规则(latin1_swedish_ci,IMPLICIT)和(utf8_general_ci,COERCIBLE)的操作'='2012-07-01 21:54:25,969[超文本传输协议-8080-1]错误。GrailsExceptionResolver-排序规则的非法混合(latin1_swedish_ci,IMPLICIT)和(utf8_general_ci,COERCIBLE)的操作'='java.sql.SQLExc0019:排序规则的非法混合(latin1_swedish_ci,IMPLICIT)和(utf8_general_ci,COERCIBLE)的操作'='在com.mysql.jdbc.SQLError.createSQLExc0019(SQLError.java:1075)在com.mysql.jdbc.MysqlIO. check错误包(MysqlIO. java: 3566)在com.mysql.jdbc.MysqlIO. check错误包(MysqlIO. java: 3498)在com.mysql.jdbc.MysqlIO. sendControl(MysqlIO. java: 1959)在com.mysql.jdbc.MysqlIO. sqlQueryDirect(MysqlIO. java: 2113)在com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2568)在com.mysql.jdbc.准备tatement.execute内部(准备tatement.java:2113)在com.mysql.jdbc.准备tatement.execute查询(准备tatement.java:2275)在com.ehs.GameNewsController$_closure4.do呼叫(GameNewsController.groovy:27)在com. ehs。GameNewsController$_closure4. doCall(GameNewsController. groovy)在java. lang。线程.运行(线程. java: 680)

那么我到底做错了什么。。

共有3个答案

沈茂
2023-03-14

在Linux上也有同样的问题。将表引擎更改为InnoDB帮助了我。

赵嘉赐
2023-03-14

尝试使用useUnicode=true

 jdbc:mysql://localhost/db_name?useUnicode=true&characterEncoding=UTF-8

并注意添加

dataSource {
    ...
   dialect = org.hibernate.dialect.MySQLDialect
   ...
姬博瀚
2023-03-14

错误清楚地表明存在“latin1_swedish_ci”和“utf8_general_ci”排序的混合。请再次尝试检查任何表中是否没有仍处于COLLATElatin1_swedish_ci字段。

 类似资料:
  • 问题内容: 我在Java中有以下代码行: 编写者不会编写UTF-8文件,因为当我在notepad ++中打开文件时,它表示编码为:ANSI作为UTF-8。我需要它是纯UTF-8。 你有什么建议吗? 问题答案: notepad ++(和任何其他工具)只能 猜测 编码,它不会写在文件(或某些元数据)的任何位置。 并且,如果您编写的文本不包含ASCII范围之外的任何字符(即,Unicode码点> 127

  • 我正在尝试将一些UTF-8字符输出到JSON文件。 当我保存文件时,它们是像这样编写的: {“some_key”: “Enviar invitaci\u00f3n privada”} 上述操作是有效的。当我加载文件并打印“some_key”时,它会在终端中显示“Enviar invitación Private ada”。 是否无论如何都要编写带有“some_key”作为编码版本的JSON文件,如

  • 问题内容: 由于某些奇怪的原因,我似乎无法将UTF-8数据添加到我的MySQL数据库中。输入非拉丁字符时,将其存储为?????。其他所有东西都存储良好。因此,例如,“ this is aexample®™”可以很好地存储,而“和英辞典”则存储为“ ????”。 连接网址很好: 正如您所料,我正在使用PreparedStatement,甚至有人尝试输入“ set names utf8”。 该表本身似

  • 问题内容: 将您的源代码保存为UTF-8格式有多重要? Windows上的Eclipse默认使用CP1252字符编码。CP1251格式意味着可以保存非UTF-8字符,并且如果您从Word文档中复制并粘贴以进行注释,我已经看到这种情况。 我问的原因是因为出于习惯,我将Maven编码设置为UTF-8格式,最近它捕获了一些不可映射的错误。 (更新)请添加执行此操作的任何原因以及为什么,应该知道一些常见的

  • 问题内容: 我一直使用ISO-8859-1编码,但是现在要转到UTF-8。 不幸的是我无法正常工作。 我的MySQL数据库是UTF-8,我的PHP文档是用UTF-8编码的,我设置了UTF-8字符集,但仍然无法使用。 (像æ/ø/å这样的特殊字符不起作用) 希望你们能提供帮助! 问题答案: 确保与数据库的连接也使用此字符集: 根据php.net 的文档: 另请参见:http : //nl3.php.

  • 问题内容: 我在从文件读取,处理其字符串并将其保存到UTF-8文件时遇到问题。 这是代码: 然后,我对可变文本进行一些处理。 接着 这样可以完美地输出文件,但是根据我的编辑器,它在iso 8859-15中可以输出。由于相同的编辑器将输入文件(在变量文件名中)识别为UTF-8,所以我不知道为什么会这样。据我的研究表明,注释行应该可以解决问题。但是,当我使用这些行时,产生的文件主要具有特殊字符的乱码,