scuttleを今更導入

 さくらインターネットのレンタルサーバscuttleを入れるべく苦闘した。ですます調とである調+体言止めが混じっていますが、ご容赦を。

 結論から言うと、注意点は2つ。
1つは、さくらインターネットのMySQLのcharacter_set_serverがujisなのが問題だった事。
includes/db/mysql.phpのmysql_query()を実行している場所の手前に全て、「mysql_query("set names utf8");」を追加した。

 もう一つは、web上に多くでいる情報である、「さくらインターネットでは$_SERVER['PATH_INFO'] という記述を $_SERVER['ORIG_PATH_INFO'] に置換」が、仕様変更により不要になっている事。

 参考にしたのは以下のサイト。

 基本は、「Web Seeker - ソフトウェアインストールMEMO - Scuttle」を参考にした。

 しかし、前述の通り、「さくらインターネットでは$_SERVER['PATH_INFO'] という記述を $_SERVER['ORIG_PATH_INFO'] に置換」が、仕様変更により不要なので置換しないように。私はこれに気づくまでに、まず3時間は時間を潰しました。

 そして、character_set_serverの問題だが、まず、確認方法から。

 さくらインターネットのレンタルサーバではサーバコントロールパネルの[アプリケーションの設定]にある[データベースの設定]からデータベースの[管理ツール]を呼び出す。

 そして、[SQL]タブで「SHOW VARIABLES;」と入力して実行し、環境を見ると「character_set_server:ujis」となっているのが判る。
他のcharacter_setはutf8なのに…。これのせいで、文字コード関係のエラーが多発しました。私はこれで5時間は時間を潰しました。
折角、MySQLの文字セットがutf8なのに、台無しです。

 そこで、「これから行う処理は全部utfでよろしく!」の意味の命令である「mysql_query("set names utf8");」を追加しました。

 まず、[管理ツール]の自分が使うデータベースを選んで[操作]タブの一番下にある[照合順序]をutf_general_ciもしておく。
その後に「tables.sql」のSQLを[SQL]タブから入力してテーブルを作る。
さらに、前述の通り「includes/db/mysql.php」のmysql_query()を実行している場所の手前に全て、「mysql_query("set names utf8");」を追加。

 また、bookmark時にurlを入力するとタイトルを補完してくれる機能も文字コード関係の問題を起していたので修正。

 まず、「bookmarks.php」の
「preg_match_all('//i', $html, $matches);」を
「preg_match_all('//i', $html, $matches);」に修正。
さらに、
「$encoding = strtoupper($matches[1][0]);」の後ろに
「if($encoding == ""){$encoding= "auto";}」を追加。

 ついでに、「ajazGetTitle.php」の
「// ADD A BOOKMARK」以下の「$title,$description,$categories」を「trim($_POST[XXX]);」で取得した後に、確実にutf-8に変換するように小細工。「$title = mb_convert_encoding($title, "UTF-8", "auto");$description = mb_convert_encoding($description, "UTF-8", "auto");$status = mb_convert_encoding($status, "UTF-8", "auto");$categories = mb_convert_encoding($categories, "UTF-8", "auto");」
最後のは、いらないかもしれません。

 何はともあれ、blogにwordpress、サイトのJoomlaを入れる時の参考にはなりそうな経験が積めたので良しとします。

comments

comment form

trackback url

http://ezman.jpn.org/sb.cgi/416

trackback

さくらインターネットにデータを構築
you1_wiki (PukiWiki/TrackBack 0.3) | 2009/05/11 11:27 PM
テーブル作成 hbm2db2_mysql.plコマンドで、ブクマデータをデータベース上に展開 hbm2addr_geo_mysql.plコマンドで、ブクマデータから緯度経度情報を生成 geomsearchコマンドで検索 文字化けへの対応 hbm2db2_mysql.plの編集 参考ページ テーブル作成 ...
はてなブックマークとデータの同期をする
you1_wiki (PukiWiki/TrackBack 0.3) | 2009/05/06 01:57 AM
考え Scuttleのセットアップ Link データ同期メカニズム WWW::Mechanizeを使うのはどうか その他 考え MySqlデータベースにはてブのRSSデータを直接インポートし、その結果を表示する現在のやり方は、とりあえず第1段階として。やはり継続的に用いるな...
Calendar
latest_entries
categories
archives
recent comments
recent trackbacks
profile
基本写真
others