2009-05-16 3 views
2

Grails 1.1을 MySQL과 함께 사용하면 자동 생성 데이터베이스 테이블의 문자 집합이 ISO-8859-1로 기본 설정되어있는 것처럼 보입니다. 순수 UTF-8로 저장된 모든 것을 갖고 싶습니다. 그게 가능하니? 자동 생성 된 데이터베이스 정의에서 Grails 1.1의 데이터베이스 테이블에만있는 UTF-8

:

ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=latin1; 

참고 "라틴"부분.

Grails 1.0에서 작동하는 해결 방법은 here입니다. 이 해결 방법은 Grails 1.1을 사용할 때 작동하지 않습니다. dataSource.dialect 매개 변수가 무시 된 것 같습니다.

답변

5

데이터베이스의 기본 문자 집합이 사용 된 것처럼 보입니다.

나는 기본 문자 집합으로 UTF8로 데이터베이스를 만들어이 문제를 해결 :

CREATE DATABASE name_of_database DEFAULT CHARACTER SET utf8; 
-1

당신은 또한 당신의 DataSource.groovy에 파일에 최대 절전 모드/JDBC URL로 일부 속성을 추가 할 수 있습니다. 예를 들어

URL = "JDBC한다 : mysql : // localhost를 : 3306/당신의-DB-이름 useUnicode = true"로

MySQL이 아니라 설정 문자에 관련된 다른 매개 변수가 있습니다. 예상되는 행동을 얻기 위해 어느 정도 그리고 얼마나 많은 사람들이 필요한지 잘 모르겠습니다.

+0

는,이 작동하지 않습니다 –

2

안녕하세요. MySQL에서 읽는 것이 좋지만 문자를 "?"로 변환하는 비슷한 문제가있었습니다. (물음표). 이 그것을 해결 : URL을 = "JDBC한다 : mysql : // localhost를 : 3306/당신의-DB-이름을 useUnicode = true를 & characterEncoding = UTF-8 여기서 mh23

0

이 같은 문제에 대한 해결책에? StackOverflow의 :. 데이터베이스의 기본 문자 집합이 아닌 UTF8 인 경우 이 UTF-8 only in Grails database tables

그것은 그러나 그것은 우아한 아니라, 나를 위해 일한 ...

+0

이것은 이전 질문에 대한 링크입니다 OP ** 및 ** 그는 질문에 이미 링크되어 있습니다. –