Semantic Web – WordPress

Movable Typeでは Unicode (UTF-8) or EUC-JP (日本語 Extended Unix Code) ?

with one comment

[追加 2005/7/11]
エントリー「PostgreSQL と UNICODE」
  http://shellscript.biz/archives/000063.html
をご覧下さい。
Movable Type の利用に際して、データベースとしてMySQL (および、PostgreSQL)、スクリプト言語としてPHPも使用するので、文字化けや文字検索で問題を起すShift_JIS コード(META要素で記述)は当初から使用していません。以前からサーバーはUnix系 (ないし、Linux) なので、これまではトラブルの最も少ないEUC-JPを採用していました。ところが、RSS/Atom 対応のMovable Typeを最大限活用するとき、文字コードEUC-JPでは、エントリーの記述内容次第で、再構築後にRSS、Atomに対応しなくなることがあり、問題です。
RSS / Atom / OPML Reader(例)⇒ http://www.infomaker.jp/rss-opml.htm
ブログページ開設時だけでなく、RSSリーダーで更新不能となったとき、RSSやAtomに対応しなくなった理由を、たとえば、サイト「FEED Validator for Atom and RSS」
http://feedvalidator.org/
でチェック (Validity) します。
文字コードが原因のことが多いと思いますが、今回、テンプレート【RSS 1.0 Index】の ファイル名 index.rdf を Movable Type 3.11 bugfix英語版にすべて変更することで解決しました。
15行目の
<dc:language><$MTDefaultLanguage$></dc:language>
<dc:creator></dc:creator>
の言語コード指定の一行をコメントアウト
<!–dc:language–><!–$MTDefaultLanguage$–><!–/dc:language–>
<dc:creator></dc:creator>
ないし、削除後確認する簡便な方法もありますが、テンプレート全体の変更も可能でした(Movable Type 3.01日本語版に複写)。
しかし、UTF-8のUnicodeを使用していないため Atom 対応が得られないとわかったとき、
(エラーメッセージの一例)
‘euc-jp’ codec can’t decode byte 0xad in position ***: illegal multibyte sequence (maybe a high-bit character?) [help]
エントリー内のマルチバイト文字すべてに注意を払うことになりますので、かなり厄介です。以前から XMLとは相性が悪いとされた マルチバイトの ‘curly quote’ や ‘curly apostrophe’ は、コピー・ペーストでエントリを作成したとき、特に注意が必要のようです(特殊文字ではキーボード上の文字を直接使用しない)。
同義語:smart quotes, curly quotes, curled quotes, curling quotes, curved quotes
http://www.dwheeler.com/essays/quotes-in-html.html
Left Double Quotation Mark    “ ⇒“
Right Double Quotation Mark   ” ⇒”
Left Single Quotation Mark    ‘ ⇒‘
Right Single Quotation Mark   ’ ⇒’
UTF-8などのUnicodeは、現時点ではUnix系、Windows, Macなどのプラットフォームでの対応は若干遅れていますが、今後標準の文字コードに採用されるとの情報もありますので、Movable Typeの新規インストール時には積極的に利用すべきと考えます。
【2004/9/22現在】
Xrea.comさんのサーバー (Movable Type, DB, PublishCharset について)
使用可能なDB
○DB_File(Berkeley DB) (Unicode【UTF-8】使用可 注:MT3.11新機能 ダイナミックページは対応しません)
◎DBD::mysql (Unicode【UTF-8】使用可)
◎DBD::postgres (注:Unicode【UTF-8】使用不可)
使用不可能なDB
×DBD::SQLite
EUC-JPは正常に動作しますが、Shift_JISについては動作確認しておりません。
【追記 2004/12/16】 DBD::mysql ,UTF-8使用 であっても、エントリーに
http://medqa.net/archives/atom19.html
のように記述すると、atom.xml のvalidityがなくなりました。

Written by support

2004/09/20 @ 18:03

カテゴリー: ブログ blog

コメント / トラックバック1件

Subscribe to comments with RSS.

  1. Atom RSS とエンコード

    エンコードの種類「EUC-JP」のとき、Atom/RSS 対応ブログツール Movable Type であっても、エントリーの記述(ないし、コピー・ペースト)内…


コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。