ケータイフォームの文字入力指定

2008/03/14 | ケータイ

フォームの<input type=”text” />タグの入力方法で、PCの場合はスタイルシートを指定することでIMEを無効にすることができる。

style=”ime-mode:disabled;”

しかし携帯では当然のことながら上記の記述ではNGだ。スタイルシートが使えないからだ。しかし拡張属性があって、以下のように記述すれば指定ができる。

○全角(デフォルト)
istyle = 1
mode = hiragana

○半角カナ
istyle = 2
mode = hankakukana

○英字
istyle = 3
mode = alphabet

○数字
istyle = 4
mode = numeric

istyle属性はドコモとAUで、mode属性はソフトバンクで。両方で対応させたい場合は二つの属性を併記しておけばいい。

SQLiteの文字コード

2008/03/12 | SQLite

SQLiteなんて比較的新しいのだから言語なんてUTF-8で当然!、とか思っていたら全然そんなことないようだ。もちろんSQLiteは多言語対応しているが、SQLite ManagerではEUC-JPしか使えないようだ。
やっぱりUTF-8で使いたい訳なのだが、すでに有名どころな方がUTF-8を使えるようにしてくれていた。さすが。

よくきたblog

まず以下のリンクで必要ファイルをダウンロードする。
ファイル

そしてinclude/defined.inc.phpを修正する(下記の配列の14番目を追加)。

$availableLangue = array(  1=>’french’, 2=>’english’, 3=>’polish’,
        4=>’german’, 5=>’japanese’, 6=>’italian’,
        7=>’croatian’, 8=>’brazilian_portuguese’, 9=>’dutch’,
        10=>’spanish’, 11=>’danish’, 12=>’traditional_chinese’,
        13=>’simplified_chinese’,14=>’japanese_utf8′);

これだけでオッケー。言語の選択画面でいったんjapaneseを選択すると、以降の画面でUTF-8が選択できるようになった。
これでやっと目的どおりの環境になった。SQLiteは何がいいって、バックアップとるのが簡単。何しろ単なるファイルだからね。チャンスがあればこれからバリバリ使う予定だ。

SQLite Managerを試す

2008/03/11 | SQLite

いったんダメ出ししたSQLite Managerだったが、他に有用そうな管理ツールも見当たらなかったので、結局これを試すことにした。前回は希望通りに動いてくれなかったのだが・・・どうやら設定方法に問題があったようだ。設置方法をメモしておくことにする。

(1)ファイルのダウンロード
SourceForgeからファイルをダウンロードして解凍しておく。

(2)ウェブサーバにアップロード
解凍したファイルをアップロードする。SQLite ManagerはPHPで作られたウェブベースの管理ツールなので、ウェブからアクセスできるところに設置することが必要。

(3)パーミッション設定その1
SQLite Managerは自身でもSQLiteを使用している(設定内容等を保存)。よって内部で使用しているSQLiteデータベースファイルのパーミッションを設定する必要がある。
chmod 666 include/config.db
chmod 666 include/config3.db

(4)パーミッション設定その2
(3)だけでいいと思っていたら、どうもその上位のディレクトリも権限設定しておく必要があるようだ。
chmod 777 include/

(5)パーミッション設定その3
新しくデータベースを作成する場所もパーミッション設定が必要になる。たとえば../dir4db/にデータベースを作成したい場合は以下のように・・・。
chmod 777 ../dir4db/

これで設定は完了。あらためてブラウザからSQLite Managerにアクセスする。この状態で新規データベースを作成してみる。データベース作成の際には2箇所の入力が必要。

名前:管理用で使う名前(多分適当に何でもいい)
パス:実際に作成するデータベースのパス

たとえば名前は「testdb」パスは「../dir4db/testdb.sqlite」などと指定する。ちなみにバージョンは2と3を選択できるがここで注意が必要。素のPHP5ではバージョン2のデータベースしか扱うことができない。だからsqlite_open等の関数を使って処理したい場合はバージョン2を選んでおく必要がある。ちなみにバージョン3で作ってしまうと、以下のようなエラーが出てデータベースに接続することができない。

Warning: sqlite_open() [function.sqlite-open]: file is encrypted or is not a database

最後に「保存」ボタンをクリックすれば、データベースの作成は無事完了。ようやくSQLiteをまともに使うことができるようになった。使ってみるとこのSQLite Manager、なかなかよさげな感じ。とりあえず満足したので、これでいくことにした。最初からちゃんとマニュアルを読んで設置すべきだった・・・。

お手軽?簡単?データベースSQLite

2008/03/10 | SQLite

今まで必要性に迫られなかったが、ようやく使う機会が訪れた。
データベースSQLite。データベースといっても、サーバDaemonが動いているわけではなく、ファイルにデータを書き込んで保存し、そのファイルに対するアクセスをSQL文を使っておこなうためのライブラリ、とでも言ったほうがわかりやすいだろう。つまりSQLiteは特別なソフトではなく、PHPでファイルをSQL文を使って処理するための関数群と思ったほうがいいかもしれない(実際はぜんぜん違うけど、そう思っておいてなんら差し支えない)。

PHPからSQLiteを扱うのは簡単だ。以下の一行でデータベースへのコネクションを確立して、あとはSQL文を発行するだけ。

$db=sqlite_open(‘mysqlitedb’);

ここでmysqlitedbはデータベース名のようだが、これは単なるファイル名となる。つまりファイルを指定するだけでいいので、ファイル操作のfopenと同様と思っていい。戻り値の$dbはデータベースへのコネクションIDということになり、これに対してSQL発行のメンバ関数を与えていくことになる。

少し試してみたのだが・・・。今まで試したところ、管理ツールがどれもいまいち。何も考えずに簡単に希望通りに動いてくれる管理ツールが見当たらないのだ。MySQLにしてもPostgreSQLにしてもphp**Adminが便利に使えるし、SQLiteにも同様のものがあるのだが、今のところ自分の環境では動いてくれなかった。そのほかの管理ツールもどうもイマイチだ。直感的でない。マニュアルを見なくてもそこそこ動いてくれるようでないと・・・。
ちなみに以下のような管理ツールがあるようだ。

SQLiteManager
phpSQLiteAdmin
rktSQLite

全部試したのだけれど・・・どれも満足できない。早めにイケテル管理ツールを探さないと業務に支障が・・・。

ちなみにシステム構築で、素でsqlite_openなんて書くことはない。汎用なデータベース接続ライブラリを使うからだ。PHP5は嫌だなぁ、とか思ってたけど、世の流れに沿って、結局どっぷりとPHP5に浸かっている上体に気がついた。

XREAへのpearのインストール

2008/03/07 | その他PEAR全般

さてgo-pear.phpの取得はできたが、いざpearをインストールしようとすると・・・これがまたうまくいかない。サーバはXREAでPHP5の環境。実行したのは以下の通り。

 1. ウェブからアクセスできるところにディレクトリを作成し
 2. そのディレクトリのパーミッションを変更(777)
 3. 上記ディレクトリにgo-pear.phpを配置し、
 4. ブラウザからアクセス

ここまで昔どおりにやったつもりなのだが、うまくいかない。どうやら自動で作成されるディレクトリのパーミッションがよろしくないようだ。「困ったなぁ」と思って調べると、どうもXREAの場合はSSHでログインしてコマンドラインからインストールするとうまくいくようだ。懐かしい。

まずXREAでのSSHによるログイン。そのままではログインできなくて最初に一手間かける必要がある。
管理画面にログインして、左側のメニューからホスト情報登録をクリックする。ここで自分のIPアドレスを登録してからSSHターミナルソフトを使ってログインする必要がある。
ログインして、以下のようにコマンドを打った。

 cd public_html
 mkdir pear
 cd pear
 vi go-pear.php(スクリプトをコピペする)
 /usr/local/bin/php5 ./go-pear.php(pearのインストール)

あとは質問に答えるだけでpearがインストールされる。デフォルト以外のライブラリを追加インストールする場合は、pear/bin/pearコマンドを起動して、installとか引数を与えてインストールする(./pear install HTML_QuickForm2等)。

そう、今回はHTML_QuickForm2を使おうとしている。まだアルファ版だけれど・・・。昔作った非常に便利なシステムがあるのだがこれはPHP4で書かれている。将来性を考えてPHP5で、ということでちょっと冒険をしようとしているわけだ。QuickFormは強力なフォーム作成支援ツールだが好き嫌いははっきり別れるところだ(個人的には好きなほう)。まだまだQuickForm2に関する日本語の記述は少ないと思うので、メモもかねて書き連ねてみようと思う。

少し時間がかかりそうかな。
あとはフレームワークとの組み合わせ・・・何を使うか・・・。


守谷市(まちの情報ポータル) 無料アンケートレンタルjpForm.net