2009-05-16 4 views
2

自動生成されたデータベーステーブルの文字セットはISO-8859-1にデフォルト設定するように見えます。純粋なUTF-8としてすべてを格納したいと思います。それは可能ですか?自動生成されたデータベースの定義からUTF-8のみのGrails 1.1データベーステーブルの

ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=latin1; 

は "LATIN1" の部分に注意してください。

Grails 1.0で有効な回避策は、hereと記載されています。 Grails 1.1を使用している場合、この回避策は動作していません。 dataSource.dialectパラメータは無視されるようです。

答えて

5

データベースのデフォルトの文字セットが使用されているようです。

私は、デフォルトの文字セットとしてUTF8を使用してデータベースを作成することによって、これを解決:

CREATE DATABASE name_of_database DEFAULT CHARACTER SET utf8; 
-1

あなたはまた、あなたのDataSource.groovyファイルでのHibernate/JDBC URLにいくつかのプロパティを追加することができます。例えば

URL = "はjdbc:mysqlの:// localhostを:?3306 /あなたのDB-名useUnicode = true" を

MySQLは、同様に設定文字に関連する他のパラメータを持っています。予想される行動をとるためには、どの人がどれくらい、どれだけ多くの人が必要なのかは分かりません。

+0

...しかし、それはエレガントではありません、私のために働いてきた –

2

こんにちは私はMySQLからの読み込みがうまくいっていたが、書き込みはいくつかの文字を「? (疑問符)。これは、それを解決: URL =「はjdbc:mysqlの:// localhostを:?3306 /あなた-DB-名をここで

0

が上の同じ問題を解決するuseUnicode =真& characterEncoding = UTF-8

mh23 StackOverflowの: UTF-8 only in Grails database tables

これは、データベースのデフォルト・キャラクタ・セットがUTF8でない場合、これは動作しません

+0

これは、以前の質問へのリンクです。 OP **と**彼は​​すでに質問にそれにリンクしています。 –

関連する問題