うらおブログ(移転しました)スマートフォン用の表示で見るやねうらおブログ(移転しました)この広告は、90日以上更新していないブログに表示しています。2006-06-13C#2.0時代のゲームプログラミング(39).NET今回はC#からODBCドライバ経由でMySQLを使う話。MySQLやODBCまわりの話は、バージョンがいくつもあって、インターネットで探していても載っている情報はobsolete(時代遅れ)だったりする。自分の欲しい情報が見つからない。.NET絡みとなるとさらに情報は少なくなる。tableでucs2(≒Unicode)の文字列フィールドを持ったテーブルを作成する。このとき、char[4]は漢字4文字が入るはずだ。ところが、MySQLはインストール時のdefaultはlatin1なので文字列が1バイト1文字計算になり、実際は2文字しか格納されない。して2バイト1文字計算であることを示す必要がある」とのことだ。実際、これで正しく漢字4文字がchar[4]に格納されるようになる。私の疑問は解消しない。ucs2;を指定するとうまく動かない。endはucs2に対応していないようだ。クライアントキャラクタセットとしては(まだ)使用できません。有効ではないということです。C#の内部ではucs2でMySQLのbackendもucs2のはずなのに途中経路がsjisになっているのは大変気持ちが悪い。国際化対応アプリを作っているはずがsjisにしか対応していないのは気分もよろしくない。MySQLのfrontendがucs2に対応していないのはいいとしても、ODBC(MySQL用のODBCドライバ。以下、単にODBCドライバと書く)のbackendとMySQLのfrontendとがsjisでやりとりしているのは何故だ?こっちはsjisなんて指定していない。本文中は単にsjisと記す。MySQLでは実運用上の理由によりsjisとCP932とを厳密に区別している。電子書籍になるに至るまでの話ブログちょっとだけ移転のお知らせ時代はまだゲームセンターあらしに追いつかないのかやねうら王、電王戦バージョン提出しました将棋の神様のレーティングはいくつなのか?月別アーカイブはてなブログをはじめよう!yaneuraoさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。