如何使用java代码模拟mysql字符集转换?

如何使用java代码模拟mysql字符集转换?,mysql,character-encoding,Mysql,Character Encoding,在mysql客户端执行sql命令时,使用java程序模拟字符集转换。例如: mysql> show variables like 'character%'; +--------------------------+---------------------------------------+ | Variable_name | Value | +--------------------------+--

在mysql客户端执行sql命令时,使用java程序模拟字符集转换。例如:

mysql> show variables like 'character%';
+--------------------------+---------------------------------------+
| Variable_name            | Value                                 |
+--------------------------+---------------------------------------+
| character_set_client     | gbk                                   |
| character_set_connection | latin1                                |
| character_set_database   | latin1                                |
| character_set_filesystem | binary                                |
| character_set_results    | gbk                                   |
| character_set_server     | utf8mb4                               |
| character_set_system     | utf8                                  |
| character_sets_dir       | /opt/mysql/server-5.6/share/charsets/ |
+--------------------------+---------------------------------------+
mysql> show create table t4\G
*************************** 1. row ***************************
   Table: t4
Create Table: CREATE TABLE `t4` (
`data` varchar(100) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
mysql> insert into t4 select '\U+1F600';
mysql> select data,hex(data) from t4;
+------+-----------+
| data | hex(data) |
+------+-----------+
| ??   | 3F3F      |
从mysql文档中,数据似乎首先从我的os charsetutf8转换为clientgbk,然后从gbkclient转换为Latin1连接。 基于上述理解,我编写了一个java测试程序员来模拟这种看不见的转换。见下文:

/** *操作系统utf-8 *字符集客户端gbk *字符集连接拉丁1 *字段1 * *@抛出不支持的DencodingException */ @试验 公共无效测试\u os\u utf8\u到\u客户端\u gbk\u到\u连接\u latin1引发不支持的编码异常{
String Enjy=

谢谢你的建议,但是我不要求一个好的实践。我想知道MySQL字符集背后的机制。所以我必须在过程中设置差异的字符集,观察结果来验证我的假设。因为我对C++并不是很熟悉,现在通过检查MySQL源代码来验证它有点困难。我。所以我用java代码来模拟它。事实上,我只是想知道mysql字符集转换的机制,也就是说,这段java代码是否能够表达真正的mysql操作,或者恰好得到相同的结果。我花了多年的时间学习这一机制。我知道的大部分都在其中。在这个答案中,你得到的是它的浓缩,经过定制特别是你提到的。因为大约有四个运动部件,实验是很有挑战性的。