Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Groovy & Grails > Cloud Foundry как перевести mysql таблицы на utf-8


Автор: Maksys 20.7.2011, 12:07
Привет, братья по разуму.
Помогите разобраться, пжлста.
Есть грайлс проджект, который хранит Объекты через GORM в MYSQL, Все чики пуки, но когда делаю деплоймент на Cloud Foundry базы всеравно на latin-1. Подскажите, как настроить тот mysql сервак, или jdbs чтоб запросы и базы были в utf-8?
Вот настройки Грайлса:
Код

dataSource {
    pooled = true
    driverClassName = "com.mysql.jdbc.Driver"//"org.hsqldb.jdbcDriver"
    username = "root"//"sa"
    password = ""
    dialect = "org.hibernate.dialect.MySQL5InnoDBDialect"
}
hibernate {
    cache.use_second_level_cache = true
    cache.use_query_cache = true
    cache.provider_class = 'net.sf.ehcache.hibernate.EhCacheProvider'
}
// environment specific settings
environments {
    development {
        dataSource {
            dbCreate = "update"//"create-drop" // one of 'create', 'create-drop','update'
            url = "jdbc:mysql://localhost:3306/grailslearn?autoreconnect=true&useUnicode=yes&characterEncoding=UTF-8"
        }
    }
    test {
        dataSource {
            dbCreate = "update"
            url = "jdbc:mysql://localhost:3306/grailslearn?autoreconnect=true&useUnicode=yes&characterEncoding=UTF-8"
        }
    }
    production {
        dataSource {
            dbCreate = "update"
            url = "jdbc:mysql://localhost:3306/grailslearn?autoreconnect=true&useUnicode=yes&characterEncoding=UTF-8"
        }
    }
}


Спасибо

Автор: Vasay 20.7.2011, 18:13
Maksys, 

Должно быть, вроде,  useUnicode=true, а не yes


А Вы можете поменять в ручную кодировку таблиц в MySQL ?

Автор: Maksys 21.7.2011, 07:20
Цитата(Vasay @  20.7.2011,  21:13 Найти цитируемый пост)
Должно быть, вроде,  useUnicode=true, а не yes

Ок это я проверю.

Цитата(Vasay @  20.7.2011,  21:13 Найти цитируемый пост)
А Вы можете поменять в ручную кодировку таблиц в MySQL ? 

Тут трабла я с Cloud Fondry впервые сталкиваюсь и хз как к базе подцепится. Пока гуглю. Просто я думаю тут я балда еще, и чего-то не догоняю. На локалке поменял таблицы и все тип топ. 

Автор: Maksys 21.7.2011, 12:25
Цитата(Vasay @  20.7.2011,  21:13 Найти цитируемый пост)
Должно быть, вроде,  useUnicode=true, а не yes

Не вышло, отпостил в другой ветке, "общие вопросы". Может там че знают по этому поводу.

Автор: AntonSaburov 21.7.2011, 12:40
Насколько я помню при создании базы надо задать кодировку. Что-то вроде

CREATE DATABASE <database> DEFAULT CHARACTER SET 'utf8';

Следовательно на сервере надо это смотреть. Что там за база.

Автор: Vasay 21.7.2011, 22:40
Цитата

и хз как к базе подцепится


Ну Вы же как-то из приложения цепляетесь, значит можно и нужные команды выполнить...

Код

ALTER DATABASE `database_utf8` CHARACTER SET 'utf8';
ALTER DATABASE `database_utf8` COLLATE 'utf8_general_ci';


Кстати, как Вы базу создали?

Автор: Maksys 22.7.2011, 09:17
Сам сервис в Cloud Fondry я создал из cf плагина для граилс :
cf-create-service mysql
Как, я понял, я поднял инстанс на серваке:
После чего аппликуха после деплоя начала писать данные через GORM в базу с правами root без пароля.
В связи с началом изучения java grails GORM я не понимать как это все работает smile
И поэтому база создается сама из POJO объектов, мне кажется это все зарыто в hibernate но мне бы инфу по этой области :(

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)