XREAのSQLがデフォルトではEUCになっているので、MovableTypeで運用しやすいようにUTFで設置してみる、そんな挑戦者たちの物語である。(以下、中島みゆきの歌が流れる)
準備の手順。
EUCをUTFに書き換える。$cfg['DefaultLang'] = 'utf-8';$cfg['DefaultCharset'] = 'utf-8';
$cfg['AllowAnywhereRecoding'] = TRUE;
PublishCharset utf-8というわけで、新規にMovableTypeを設置するときは、こんな手順でたぶん大丈夫のような、そうでもないような?すでに運用をしているMovableTypeの文字コードを変えるのには、どうしたらいいのかしら?謎〜。

画像がアップロードできるなんて、今の今まで知らなかったよ。
でも、画像アップロードはあんまり使わないような予感。
2.66から3.11にしてみました。っていうか、単にバージョンアップしてみただけー。
そんなことよりも、RSSとかFOAFとかよくわからないー。セマンティックウェブってものなんですか。そういえば、春先にも挫折していたような・・・。
以前に書いた、個々の蓄積ファイルでIndividual Entry Archiveのファイル名を通し番号に決めたわけなんですけど、なんと落とし穴を発見・・・。
エクスポートしたあとインポートして再構築すると、通し番号が変わってしまいます。これは大ピンチ。全然恒久的なURIにならないしー。
というわけで、ファイル名をもっとユニークなものにしましょうってことで、ddhhmmss.html形式にしてみました。何日の何時何分何秒に投稿されったってのをファイル名にしたわけですね。
<$MTArchiveDate format="%Y/%m/"$><$MTArchiveDate format="%d%H%M%S"$>.html
こんな感じ。ついでにMonthlyのファイル名とディレクトリ構造も見直してみました。ファイル名が変わったのでリンク切れがあるかも。見つけたら教えてくださいね。
シングルカラムのMovableTypeは珍しいって記事をどこかで見かけたんだけど、どこだっけ。
うちのMTっていうか、ブログもいわゆるシングルカラムなんですけど、2カラムや3カラムだと自分が読みづらいからシングルにしてるだけ。テキスト主体だし、メインコンテンツ以外のメニューやナビゲーションがあると邪魔だなぁって。
そのぶんだけユーザビリティは低下してると思うんですけど、コメントやトラックバックをメインに読みに来てる人って少ないでしょう?私の文章を読んで、コメントが気になればコメントを読むって感じでいいんじゃないかなって感じ。
まあ、いまどきのMTは自分のポータルサイトみたいな使い方をするのが主流なのかな。最新のコメント一覧とかアンテナみたいなのがあれば自分が便利なので、そういうページは別個に作るかもシレナイ。
今年書いた日記をMTに移行させちゃおうと思ってちまちまと作業してました。
XREAはデータベースが使えるので、ここを選んだわけなんですけど、そのデータベースの文字コードがEUCなんですよね。
新しく作るデータベースでは、全てEUC_JPに統一しています。現在の所、このコードを個別に変更する事は出来ません。 解決策は編集文字コードをEUC_JPに変えて頂く事になります。
そんなわけで、MTもEUCで運用してるんですけど、そこで問題が!
MTの生成するXHTMLの文字コードがEUCなので、HTTPレスポンスヘッダもEUCを返すように.htaccessで設定してるんですけど、去年以前の日記は、私が手書きでHTMLを書いてるので文字コードがShift_JISなんです。
えーと、ここで誤解の無いように説明しておきますと、HTMLファイルに記述するメタ要素で文字コードを指定するのがありますよね。
<meta http-equiv="Content-Type" content="text/html; charset=EUC-JP">
こんなメタ要素です。これは、このファイルの文字コードはEUC-JPなので、ブラウザはEUC-JPで読み込んでくださいよ。
という命令を出しているわけじゃありません。
このメタ要素の意味は、このファイルの文字コードはEUC-JPなので、サーバはこのファイルがEUC-JPであることを明示して(HTTPレスポンスヘッダに記述して)データを送り出しなさい。
という命令なんですね。
XHTML1.1の本来の仕様では、文字コードはメタ要素で記述することができません。サーバ側の設定であらかじめ文字コードを決めておいてやらねばならないのです。どうしてかと言いますと、メタ要素で文字コードを決定する仕様だと、まずそのファイルをオープンして、どの文字コードで記述されているかを確認する作業が必要になるからです。ユーザーからの要求のたびに、HTMLのひとつひとつをオープンして文字コードを判定していては、サーバにかかる負荷は(ワールドワイドウェブレベルでは)膨大なものになってしまうでしょう。
そんなわけで、こんな感じでサーバ側の設定(.htaccess)で、HTMLの文字コードはEUC-JPだよっ!ってあらかじめ決め打ちしちゃうわけですね。
AddType "text/html; charset=EUC-JP" .html
さて、話を元に戻しますと、ここで問題が!
これだと、htmlファイルは全てEUC-JPだということになってしまいます。手打ちのhtmlはShift_JISです。ここで1時間ぐらい悩みました。でも悩んだ甲斐があって良いアイデアが!
AddType "text/html; charset=EUC-JP" .html
AddType "text/html; charset=Shift_JIS" .htm
じゃん!拡張子がhtmlなのはEUCで、拡張子がhtmだったらShift_JISでレスポンスヘッダを返すように設定して事なきを得たのでした。というわけで、去年までの日記は拡張子がhtmになってます。
日記のナビゲーションで困ってます。
今採用してる日記のメニューやナビゲーションは冗長でしかも迷子になりやすい気がするし・・・。
おそらく日記を読みに来てくれる人のほとんどは、検索エンジンかhttp://ping.bloggers.jp/みたいなところから飛んできてくれる人だと思う。
そういう閲覧者をサイト内の関連あるコンテンツにスムーズ誘導するには、どうすればいいかなぁって。
んー、いまいち良い案が思い浮かばない。
個々の蓄積ファイルのアーカイブURLを変えてみる。yyyy/mmdd/nnnnnn.htmlの形式にしてみた。
blogの設定>アーカイブの設定>Individualのアーカイブ・ファイルのテンプレートのテキストボックスに次の記述をする。
<$MTArchiveDate format="%Y/%m%d/"$><$MTEntryID pad="1"$>.html
自前でMTを設置するためにサーバ移動です。XREAで作り直してみました。相変わらずテスト中です。
ニフティのココログのヘルプを見たり、他の人のココログを見て思ったんですけれど、ブログツールの吐き出すHTMLはXHTMLなので、タグは小文字で書かなければならないし、空要素(いわゆる終了タグのないもの)は、/>って書かなければいけないような気がします。
っていうか、ニフティはヘルプにそのことを何よりも優先して記述すべきなんじゃないかと。ニフティが率先して不思議マークアップを蔓延させてるような気がする今日この頃。
っていうか、このニフティの記事の入力画面でもタグを挿入しやすいようにタグ挿入エディタみたいな形式になってるんですけれど、Bのアイコンで<strong>が挿入されたり、iのアイコンで<em>が挿入されたりするわけなんですね。
こんなむちゃくちゃなエディタを用意しないでください。賢明な読者の皆さんはUのアイコンが<u>だったり、センタリングかインデントかわからないようなアイコンが<blockquote>なのを想像できるでしょう。
試しに<strong>と<em>を使って記述してみますよ。投稿エディタのアイコンのように太字や斜体で表示されますか?←挑戦的
これがstrongです。太字になってますか?
これはemでっす。斜体になりませんよね。
見栄えと論理構造の分離がスタイルシートの存在意義でしょう?論理タグに見栄えっぽいアイコンを用意している時点でニフティの理解の無さがうかがえます。こんなのでお金を取るなんて言語道断。ユーザーをバカにするにもほどがあります。ぷんぷん。
ちなみに↑の画像のアップロード時に画像のURLをリンク形式で表示してくれるんですけれど、border="0"とか書いてあるし。borderなんて属性はxhtmlには存在しません。ニフティはふざけるのもいい加減にしなさい。
追記:border属性ですけど、Transitionalならxhtml1.0でも使えますね。しょぼん。
こんなにも裏技的なことをやらないと自由なメニューができない、というのはやっぱり不自由ではないのか? と思ってしまう。
たとえるならば、マンションの基本的には画一的な部屋を、いかにして個性的な部屋にするかインテリアを競い合っているようなものではないか?
それより一戸建てがいいなあと思っちゃう。
HTMLとCSSは自前で書くことが前提で、rdfやXMLの処理をオートで行ってくれるマクロがブログツールのような気がします。
っていうか、ブログの普及でせっかく比較的validなHTMLが吐き出されるようになってきてるのに、ニフティの仕様では、invalidなHTMLを促進させるような仕組みになっちゃってるんで、時代に逆行してるというか、ニフティは相変わらず冴えない仕事しかできないなぁと残念な思いをしました。(ばけらさんふう)
なんてことを偉そうに書いちゃってますけど、実はトラックバックのテストだったりします♪
24時間表記のメタタグ。
<$MTEntryDate format="%H:%M"$>
んで、いわゆる日付のyyyy-mm-dd形式のメタタグ。
<$MTEntryDate format="%Y-%m-%d"$>
ってか、むしろ参考リンク。
livedoorのblogのHTMLは、あんまりstrictではないよね。MTのデフォルトのHTMLを使ってる感じ。ニフティの方は自前でアレンジしてるのか、比較的strictに記述されてて良い感じ。文法チェッカにかけてみたわけじゃありませんけど。
それでも、多少いわゆるDIV厨というかSPAN厨な記述になっちゃってるんですけど。気持ち悪いので書き直してしまおうかしら。って、無料期間が6月までなのよね。使いまわせるんで練習がてらに頑張ってみようかな。
んで、その結果が・・・、
マジで? AHLでは81点でしたけど・・・。
ついでにCSSもチェック。ってか自分用♪