我已/etc/mysql/my.cnf手动配置使用utf8.见下文:
[mysqld]
character-set-server=utf8
character-sets-dir=/usr/share/mysql/charsets
[mysql]
character-sets-dir=/usr/share/mysql/charsets default-character-set=utf8
[mysqladmin]
character-sets-dir=/usr/share/mysql/charsets default-character-set=utf8
[mysqlcheck]
character-sets-dir=/usr/share/mysql/charsets default-character-set=utf8
[mysqldump]
character-sets-dir=/usr/share/mysql/charsets default-character-set=utf8
[mysqlimport]
character-sets-dir=/usr/share/mysql/charsets default-character-set=utf8
[mysqlshow]
character-sets-dir=/usr/share/mysql/charsets default-character-set=utf8
[client]
character-sets-dir=/usr/share/mysql/charsets default-character-set=utf8
Run Code Online (Sandbox Code Playgroud)
从控制台:
mysql> show variables like 'char%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| 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 |
| …Run Code Online (Sandbox Code Playgroud) 我有一个带有 glassfish 服务器并使用 EclipseLink (JPA 2.1) 的动态应用程序。我以前可以persistence.xml直接把jdbc配置放进去,没有任何问题。但现在它迫使我为 glassfish 创建一个数据源名称并将 jdbc 配置放入glassfish-resources.xml文件中。
问题是我想将 mysql 的字符编码设置为 utf8,因此,我使用下面的 url 作为 jdbc url:
jdbc:mysql://localhost:3306/fastfood?zeroDateTimeBehavior=convertToNull;&characterEncoding=UTF-8;
Run Code Online (Sandbox Code Playgroud)
但我得到这个例外:
javax.persistence.PersistenceException: Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.5.0.v20130507-3faac2b): org.eclipse.persistence.exceptions.DatabaseException
Internal Exception: java.sql.SQLException: Error in allocating a connection. Cause: Connection could not be allocated because: The connection property 'zeroDateTimeBehavior' only accepts values of the form: 'exception', 'round' or 'convertToNull'. The value 'convertToNull;' is not in this set.
Run Code Online (Sandbox Code Playgroud)
我想知道如何在 url 中添加带有 & 符号的多个参数?:D
另外,我不想创建 JNDI 数据源,而是手动将 jdbc …
我从外部Microsoft SQL 2008数据库接收数据(我使用MyBatis进行查询).在理论上,我在"Windows-1252"上接收数据编码.
我用这段代码尝试解码数据:
String textoFormado = ...来自MyBatis的价值......;
String s = new String(textoFormado.getBytes("Windows-1252"),"UTF-8");
几乎所有String都被正确解码.但是有一些字母没有.
例如:
java ×2
jdbc ×2
mysql ×2
utf-8 ×2
collation ×1
encoding ×1
jpa ×1
utf8-decode ×1
windows-1252 ×1