CMSimpleについての覚書

お手軽なCMSである、CMSimpleを試しております。
http://www.cmsimple.dk

さくらインターネットに設置した場合、標準のShift-JISでは文字化けする字がありました。(「〒」や「立」等)

そこで文字コードをUTF-8にしてみたのですが、今度は違う文字が文字化けしました。(「大」や「で」等)

とりあえず私がアップしたコンテンツの範囲では、文字コードをEUC-JPにすることで、文字化けしなくなりました。

文字コードをEUC-JPにするためには、languagesフォルダのjp.phpファイル内の記述をEUC-JPに変更し、EUCで保存しなおすだけでいいようです。

追記

と思ったら、EUC-JPでも「色」や「ェ」なんかが化けました。

現在最新が2.5ベータ版なので、正式版で直るのを期待します。

私の問題でした

とにかく一度すっきりさせようと、別のディレクトリにインストールしなおし、勝手に気を効かしてcharsetを変更していた箇所や、コードを変換して保存しなおしていたファイル等、何も手を加えずに作業をしたら、文字化けすることなく普通に表示されました。

私が余計なことをしたことが問題だったようです。

堂々巡り

と思ったら、やっぱり日本語モードで文字を入力し、保存すると文字化けします。
標準の英語モードでは問題ないのに…

結論としては、英語モードのまま日本語入力する。ということで、運用できそうです。

それにしても、メニュー等も含めて、英語モードのままで日本語に変更しても問題ないのに、日本語モードにすると文字化けする。英語モードの文字コードの、iso-8859-1にしても駄目なのは何でだろ?

原因は判明。対応は無理?

私の拙い英語読解力で、CMSimpleサイトのフォーラムで情報収集したところ、文字化けする原因が判明しました。

CMSimpleでは各ページを生成するときに、大きな1枚のHTMLから見出しの<H1>ごとにページを分割しております。

その際、普段使われないキャラクター(iso-8859-1での文字コード167「§」)を、分割するための文字として使っているようです。

http://www.cmsimple.dk/forum/viewtopic.php?t=1429

ところが、そのために「立」(Shift_JIS 0x97a7)等、2バイト目が「a7」(=167)の文字が分割?されて文字化けしてしまうようです。

これは、日本語だけでなく、中国語や、その他ポーランド語等でも文字化けが起きていて、作者もどうすべきか悩んでいるようです。

これで解決!なのか?

もう取りあえずダメ元で、「§」を1バイト文字で置き換えてしまえ!と、文字コード表を眺めつつ、少なくとも私は使わない文字を探してみました。

すると、「`」(バッククオート、逆クオート、逆引用符、アクサングラーブ)を発見!

う〜ん・・・今回の問題の原因と思われる、cms.php内でも使われていない文字だし・・・

と、意を決してcms.phpファイルを、iso-8859-1コードの編集ができるエディタで開き(秀丸エディタの場合はエンコードの種類を「欧文」にする)、216行、218行、220行にある計6つの「§」を1バイトの「`」に置換しました。

そのcms.phpファイルで上書きしたところ・・・おぉ〜っ!!文字化けがしなぃ〜っ!!

ということで、取りあえずこの状況でテスト運用してみます。

果たして、「`」を使ったことで、何か問題は起きるのか?

ホントに堂々巡りで恥ずかしい限りです。

やったぁ〜!と調子に乗って色々と入力していたら、上記対処では「チ」や「〜」が化けました。

結局、化ける文字が変わっているだけです・・・(T_T)

何故FCKeditorではなく、TinyMCEを選んだか

CMSimpleは、標準でWYSIWYGエディタの機能がありますが、外部のWYSIWYGエディタを使うこともできます。

標準のWYSIWYG画面
cmsimple.gif

また、TinyMCEとFCKeditorに関してはphpファイルが用意されており、自力で頑張らなくとも簡単に変更できます。

さて、TinyMCEとFCKeditorの両方試してみたのですが、私はTinyMCEを使うことにしました。

デザインや右クリック時にメニューが表示される点ではFCKeditorが便利なのですが、既存のHTMLを貼り付けた場合(つまりFCKeditorが想定していないフォルダに画像がある場合)、画像が表示されません。

何らかの設定で解決する気もするのですが、TinyMCEは何の問題もなく表示されたので、取り合えずこちらを使っております。

WYSIWYGエディタTinyMCEについての覚書

解凍した後、tinymce内のjsbripts内のtiny_mceのCMSimpleのルートにコピー
文字コードを変更するファイルは、

tiny_mce → langs → ja.js
tiny_mce → themes → advanced → langs → ja.js
tiny_mce → plugins → table → langs → ja.js

表の機能を有効にするには(この場合は、TinyMCEを呼び出すCMSimpleのtinymce.phpの記述)

plugins に table を加える
例えば、 theme_advanced_buttons3_add に tablecontrols を加える
また、セルの色を変更する機能を有効にするには、table_color_fields : true の記述を加える

添付ファイル: filecmsimple-utf8.lzh 221件 [詳細] filecmsimple.gif 235件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2005-06-23 (木) 00:50:11 (6875d)