俄语字母问题。 在带有下一个字符集配置的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
问题是什么?
答案 0 :(得分:0)
确保在任何地方使用Unicode(UTF-8编码):
还要确保安装了支持Unicode的字体,并且已将应用程序配置为使用这些字体(默认字体应该没问题;如果更改了字体,则重置首选项)。
答案 1 :(得分:-1)
在get ResultSet
解决的java问题中,字符串结束从ISO-8859-1
中的字节获取。之后,从字节创建new String
。
new String(rs.getString(1).getBytes("ISO-8859-1"))