うらおブログ(移転しました)スマートフォン用の表示で見るやねうらおブログ(移転しました)この広告は、90日以上更新していないブログに表示しています。2006-06-25C#2.0時代のゲームプログラミング(42).NETConnector/ODBC(MySQL用のODBCドライバ)とConnector/NETに関する調査報告。client(frontend)とやりとりするためにlibMySQLというMySQLのライブラリを使っている。こいつが、文字コードの変換テーブル自体も持っている。このような仕様になっているのか歴史的な経緯については知らないが、動作環境に左右されたくなかったのかと推察する。clientとの間はucs2に対応していないようだ。client起動時に--logオプションを入れるとやりとりしているログを出力できるのだが、そのログを見る限り、どうもsjisでしかやりとりされていないようだ。charasetでSQL文をリダイレクトさせたが、それもエラーになる。client自体がucs2に対応していないので当然の結果、というところか。ちなみにutf8では文字化けを起こす。clientの間がsjisなのが気持ち悪いという話なのだが、解決はなかなか難しい。Windows限定で良ければこれに対応させるためのpatchを作成するのは難しい話ではないが、ソースを相当深くまで読んでいかないといけないし、Connector/ODBCの公式でいずれは対応されるのだから、それを行なうことがあまり意味のある行為とも思えない。ちなみに、Connector/NET経由であればutf8でやりとりできる。広く一般にお勧めできる解は、これである。何度も言うようにYanesdk.NETでこれをサポートするわけにはいかない。sjis;」としておけばいいか、ということになった。ucs2;」に変更すればいいやん、どうせしばらくはsjisの文字コードの範囲でしかDBには格納しないんだし、という結論になった。電子書籍になるに至るまでの話ブログちょっとだけ移転のお知らせ時代はまだゲームセンターあらしに追いつかないのかやねうら王、電王戦バージョン提出しました将棋の神様のレーティングはいくつなのか?月別アーカイブはてなブログをはじめよう!yaneuraoさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。