какая база данных поддерживает вставку вьетнамских символов? - PullRequest
0 голосов
/ 02 января 2012

Я попытался вставить вьетнамские символы в базу данных MySQL через мою Java-программу. Он вставляется, но определенные символы вставляются как мусор. И, пытаясь получить, я получаю одинаковые ненужные значения вместо некоторых символов. Может кто-нибудь сказать мне, что должно быть сделано? Есть проблема в MySQL или есть какая-либо БД, которая поддерживает эти символы?

Ответы [ 2 ]

1 голос
/ 02 января 2012

Пример 'мусора' и кода?

В общем, вам нужно убедиться:

  1. ваши таблицы созданы с сопоставлением UTF-8 по всему текстуколонны.Это можно сделать на нескольких уровнях: config default-character-set=utf8, db CREATE DATABASE ... DEFAULT CHARACTER SET utf8, таблица CREATE TABLE ... DEFAULT CHARACTER SET utf8 и столбец column VARCHAR(255) CHARACTER SET utf8.После первоначального создания вы можете сделать это только ALTER на столбцах;изменение набора символов по умолчанию не приведет к изменению столбца.

  2. , что ваше соединение с базой данных в кодировке UTF-8, указав useUnicode=true и characterEncoding=UTF-8 свойства в вашем соединениистрока или свойства.Убедитесь, что у вас есть обновленный MySQL Connector, поскольку в прошлом здесь были серьезные ошибки.

  3. , что ничто другое в вашем потоке обработки не искажает символы, прежде чем они попадут вподключение к базе данных или на обратном пути.Убедитесь, что вы нигде не используете кодировку по умолчанию, потому что она, вероятно, неверна.Установка флага -Dfile.encoding=UTF-8 может помочь в этом как временное решение, но вы не хотите на него полагаться.

(И если часть вашего тестирования включает печать в терминалИмейте в виду, что командная строка Windows не сможет ничего сделать с UTF-8, поэтому вы обязательно увидите там мусор.)

0 голосов
/ 02 января 2012

Привет, нет проблем с хранением вьетнамских символов, но сначала проверьте FAQ по MySQL:

http://dev.mysql.com/doc/refman/5.0/en/faqs-cjk.html

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