mysql:15800
From: <gotou1213@xxxxxxxxxx>
Date: Thu, 12 Jul 2012 17:47:58 +0900
Subject: [mysql 15800] Re: PHPとutf8mb4
後藤です。 > 今回のDBは5.5.24であり、mysqlクライアントからは何の問題もないため > やはりPHP側の問題ではと思っております。 > (ただし、/usr/share/mysql/charsets/のファイルはMySQL側のRPMに含まれているようですが) mysql コマンドと PHP の mysqli 拡張モジュールが同じライブラリとリンクしているとは限りません。 そして、mysqli->set_charset() は、libmysql に charset を伝えるものなので、 libmysql が古ければ新しい charset に失敗することも(多分)あります。 (実際そのような状態に出くわしたことは無いですが・・・) rpm -qa | grep -i mysql で MySQL 関連のパッケージを表示すると古いバージョンの何かが入っていないでしょうか? > 上記の$mysqli->optionsによる方法でmy.cnfを読むようにして、 > my.cnfに以下のように指定した場合も$mysqli->set_charset('utf8mb4');の時と > 同じエラーとなってしまいました。 my.cnf を読ますのは "utf8mb4" でエラーが出る件の解決方法ではありません。 my.cnf を読ますのも set_charset で直接指定するのもやっていることは対して変わりません。 > 上記で「default-character-set = utf8」とすればエラーはでなくなりますが、前回同様 > 4バイトUTF-8文字が4つの?になってしまいます。 > やはりskip-character-set-client-handshakeにしてlatin1のままで接続しかないのでしょうか。 PHP 自体をソースからビルドするか、mysqli 拡張モジュールだけでも ソースからビルドすれば解決するかもしれません。 以上です。
15789 2012-07-11 15:39 [<a2cf@xxxxxxxxxx> ] PHPとutf8mb4 15793 2012-07-12 01:35 ┗[<gotou1213@xxxxxxxxx] 15797 2012-07-12 10:09 ┗[<a2cf@xxxxxxxxxx> ] 15798 2012-07-12 10:37 ┗[<gotou1213@xxxxxxxxx] 15799 2012-07-12 13:48 ┗[<a2cf@xxxxxxxxxx> ] -> 15800 2012-07-12 17:47 ┗[<gotou1213@xxxxxxxxx] 15801 2012-07-12 18:40 ┗[<a2cf@xxxxxxxxxx> ] 15802 2012-07-12 18:55 ┣[yoku ts <yoku0825@xx] 15805 2012-07-12 20:49 ┃┗[<a2cf@xxxxxxxxxx> ] 15806 2012-07-13 11:20 ┃ ┣[yoku ts <yoku0825@xx] 15807 2012-07-13 13:38 ┃ ┃┗[<a2cf@xxxxxxxxxx> ] 15808 2012-07-13 13:42 ┃ ┃ ┗[yoku ts <yoku0825@xx] 15810 2012-07-13 18:04 ┃ ┗[<a2cf@xxxxxxxxxx> ] 15803 2012-07-12 19:13 ┗[Tomohiro 'Tomo-p' KA] 15804 2012-07-12 20:49 ┗[<a2cf@xxxxxxxxxx> ]