March 10, 2005
Illegal mix of collations
Posted at 01:13 PM
|
Category :
[Eclipse,MySQL,etc]
なんだか予想通りというか、やっぱり放置しちゃったわけですが。
とりあえず、思い出したことをダラダラと。
12/8の日記に書いてたMySQLのエラー(下)ですが、
java.sql.SQLException: General error message from server: "Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (sjis_japanese_ci,COERCIBLE) for operation '='"これはデータベースの属性を変更してあげることで解決できました。
エラー自体は、swedishとjapaneseを=で結べないよって感じで、前者がサーバ側のコード、後者がクライアント側のコードみたいです。
なので、
"create database databasename default character set sjis collate sjis_japanese_ci;"
って感じでデータベースを作ってあげるとダイジョーブだと思います。
すでに作成済みの場合は、alter database あたりでいけるんじゃないかなぁ…。試してないから自信はないですけど。
確認の方法としては、データベースに接続して、
use databasename;で、目的のデータベースを選択してから、
show variables like '%character%';な感じで設定値を表示してみる。
+--------------------------+------------------------------- | Variable_name | Value +--------------------------+------------------------------- | character_set_client | sjis | character_set_connection | sjis | character_set_database | sjis | character_set_results | sjis | character_set_server | latin1 | character_set_system | utf8 | character_sets_dir | C:\Program Files\MySQL\MySQ +--------------------------+-------------------------------ここの、上から四つが同じコードが指定されているかと、
show variables like '%character%';
+----------------------+-------------------+ | Variable_name | Value | +----------------------+-------------------+ | collation_connection | sjis_japanese_ci | | collation_database | sjis_japanese_ci | | collation_server | latin1_swedish_ci | +----------------------+-------------------+ここの、上から二つが同じコードかをチェックすればいいと思います。
…たぶん。
トラックバック
このエントリーのトラックバックURL: