#mysql #character-encoding #glassfish
#mysql #кодировка символов #glassfish
Вопрос:
Я использую glassfish с веб-сервисом для доступа / записи базы данных mysql.Проблема в mysql: при вставке английских символов все выглядит нормально, но при вставке, скажем, символов на иврите, строки отображаются в обратном порядке. Объясните обратную вещь: давайте предположим, что таблица myTable имеет следующую структуру
---------- ------------------ ------ ----- --------- ----------------
| Field | Type | ..
---------- ------------------ ------ ----- --------- ----------------
| id | int(10) unsigned | ...
| artist | varchar(64) | ...
| title | varchar(64) | ...
| genre | varchar(128) | ...
| filename | varchar(512) | ...
| uploaded | tinyint(1) | ...
---------- ------------------ ------ ----- --------- ----------------
и вот как это выглядит для символов на английском и иврите:
Я установил кодировку и сопоставил (хотя после создания и вставки данных в БД):
-------------------------- ----------------------------
| 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 |
| character_sets_dir | /usr/share/mysql/charsets/ |
-------------------------- ----------------------------
---------------------- -----------------
| Variable_name | Value |
---------------------- -----------------
| collation_connection | utf8_general_ci |
| collation_database | utf8_general_ci |
| collation_server | utf8_general_ci |
---------------------- -----------------
И отредактировал даже my.cnf:
[mysqld]
skip-character-set-client-handshake
character-set-server = utf8
init-connect='SET NAMES utf8'
collation-server=utf8_general_ci
Любая помощь приветствуется.