メモ
コマンド打ったりスクリプトを書かなくて良いので便利:phpMyAdmin
phpMyAdminのパラメーターはconfig.inc.phpにあるのだが、このファイルをphpMyAdminのインターフェースからどう保存するのかわからなかった(saveボタンがアクティブにならない)。結局、パラメーターの内容を表示したものをコピペして保存。
WinXPのコマンドプロンプトで起動したMySQLでINSERT INTO db_pages (contents_pages) VALUES('あ');
とコマンドを打ち込んだら
ERROR 1406 (22001): Data too long for column 'contents_pages' at row 1
とエラーを返された。phpMyAdminでtable作成時に文字コードをデフォルト値*1から下手に変更したためのようだ。文字コードを何もいじらずにtableを作成したらコマンドが通った。
SJISコードで格納している。コマンドラインでSELECTを打つと漢字をきちんと表示している。phpMyAdminでみると?だらけになる。SJISをEUCとして表示しようとしているからだ。
SJISの「表」を素でtableに入力しようとするとコケる。「\」で挟み込んでエスケープすると入力できた。2バイトコード文字でエスケープ文字の番号(5C)が入っているものが該当するようだ(Shift_JIS - Wikipedia)。内部はEUCで書くことで統一すべきなのだな。
いま作りたいものってphpMyAdminみたいなMySQL管理インターフェースだよな。
[6.29]file_put_contents()が上手く走らないと思ったら、ファイル名のデータの末尾に改行コードが入っていたせいらしい。
[7.9]str[何とか]()系の関数で改行にマッチさせたいときは \r, \n をシングルクォーテーションではなくダブルクォーテーションで囲まないといけないようである。
*1:statusコマンドではServer/Db/Client/Conn.すべてlatin1