不同的字符集命令行vs Workbench vs Eclipse

时间:2014-05-16 13:56:47

标签: java mysql eclipse character-encoding mysql-workbench

俄语字母问题。 在带有下一个字符集配置的Windows 7命令行的mysql中:

+--------------------------+----------------------------------+
| Variable_name            | Value                            |
+--------------------------+----------------------------------+
| character_set_client     | latin1                           |
| character_set_connection | latin1                           |
| character_set_database   | utf8                             |
| character_set_filesystem | binary                           |
| character_set_results    | latin1                           |
| character_set_server     | latin1                           |
| character_set_system     | utf8                             |
| character_sets_dir       | /usr/local/mysql/share/charsets/ |
+--------------------------+----------------------------------+

+----------------------+-------------------+
| Variable_name        | Value             |
+----------------------+-------------------+
| collation_connection | latin1_swedish_ci |
| collation_database   | utf8_general_ci   |
| collation_server     | latin1_swedish_ci |
+----------------------+-------------------+

一切都很好,我得到这样的东西:

+------------------+
| name             |
+------------------+
| СТАНДАРТ+        |
| VIP тариф        |
| БАЗОВЫЙ 30       |
| БИЗНЕС 512       |

但是在MySQL Workbench中使用这个配置得到这个:

��������+
VIP �����
������� 30

在Eclipse控制台或Windows提示符下的java应用程序中:

????????+
VIP ?????
??????? 30

问题是什么?

2 个答案:

答案 0 :(得分:0)

确保在任何地方使用Unicode(UTF-8编码):

  • 连接MySQL时
  • 在Eclipse的项目设置中
  • 在MySQL Workbench的首选项中

还要确保安装了支持Unicode的字体,并且已将应用程序配置为使用这些字体(默认字体应该没问题;如果更改了字体,则重置首选项)。

答案 1 :(得分:-1)

在get ResultSet解决的java问题中,字符串结束从ISO-8859-1中的字节获取。之后,从字节创建new String

new String(rs.getString(1).getBytes("ISO-8859-1"))
相关问题