Хранение символов UTF-8 в базе данных MySQL - PullRequest
0 голосов
/ 30 мая 2011

Я пытаюсь инициализировать отношение базы данных MySQL словами, написанными на польском языке с использованием языка программирования Java.

Это строка кода:

db.executeQuery("create table "+schema+".category_"+globalId.split("-")[1]+"( id int not null unique, cName varchar(40) not null, primary key (id)) default character set =utf8 collate= utf8_bin;"

Это работает сНемецкий или шведский язык, то есть специальные символы для этого языка, хранятся в базе данных, как это должно быть (правильные символы).Но когда вы пытаетесь написать слова на польском языке, это показывает ?????вместо специальных символов для этого языка.

То же самое происходит, когда вы пытаетесь написать китайскую букву (вы видите ??????).Я обновил набор символов до bgk или big5, но это ничего не изменило.

В чем проблема?Приветствия

1 Ответ

2 голосов
/ 30 мая 2011

Вам необходимо настроить набор символов (и, возможно, сопоставление) вашей базы данных. См. здесь для документации. Эта ссылка для MySQL 5.0, но я думаю, что она очень похожа и в других версиях.

Например:

ALTER DATABASE db_name
[[DEFAULT] CHARACTER SET charset_name]
[[DEFAULT] COLLATE collation_name]

Эти значения, которые вы устанавливаете для базы данных, затем используются по умолчанию для каждого оператора create table. Вы также можете переопределить эти значения для отдельных таблиц.

Обновление: Вот лучшая ссылка . Это перечисляет поддерживаемые наборы символов в MySQL 5.5. Я рекомендую использовать набор символов utf8.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...