nobu417.jp は佐藤 信之の運営する個人ポータルサイトです

うさぎにもできるXOOPS Cube入門♪ - Re: 文字化け

DBの文字コード参照順序がlatin1_general_ciになってると、
XOOPS2.0.x なら、表示は文字化け無し
XOOPS Cube Legacy 2.1.x だとブロックタイトルとか???って文字化けしますね。

サーバにphpMyAdminが入っているなら、次の点を確認してみてください。
1.XOOPS用のテーブルの照合順序の欄が何になっているか?
 たぶんlatin1_general_ciになってると思います。

2.phpMyAdmin画面上部のタブで「操作」というのがありますので、そこで「照合順序」を確認してください。
 ここもたぶんlatin1_general_ciになってると思います。
 ここを「ujis_japanese_ci」に変更してから、インストールしなおしてもらえますか。それで解決すると思います。

XOOPS Cube 2.1.7 で文字化けでハマった時にここで解決。

[Linux]XOOPS Cube を文字コード EUC でなく、 UTF-8 で動かす

ファイルを解凍すると以下の3つのフォルダができる
html・・・htmlフォルダの中身をWebに公開する場所にコピー(public_htmlやpublic_html/xoopsなど)
extras・・・extras/extra_languages/ja_utf8/html/ フォルダを上記htmlフォルダと同じ場所に上書きコピー
docs・・・とくに使わない(無視)
ブラウザ経由でpublic_htmlなどに公開されている場所にアクセスし、最初のインストール時の言語選択画面で「japanese」でなく、「ja_utf8」を選択して次へを選択(ここで躓いていた)
あとは親切なXOOPSインストール方法マニュアルサイト通りに進めればOK

XOOPS はデフォルトでは文字コードが EUC なので、UTF-8 で動かすためのメモ。

MTIfFolder はウェブページ方面のテンプレートでは反映されるが、ブログ系のテンプレートではエラーが返される。しかしヘッダーのテンプレートでナビゲーションを組み込んでいる場合、両方のテンプレートでエラーが起きないようにしなければならない。そのためには、ウェブページテンプレートに $mt:SetVar で name="page" value="webpage" などとしてやり、ヘッダーテンプレートのウェブページへのリンク部分では mt:if の条件式で、name="page" eq="webpage" などで分岐してやった中に MTIfFolder を入れてやることで、ブログ系テンプレートでは MTIfFolder タグが参照されないように回避する。

現時点での .gvimrc の設定内容。

set enc=utf-8
set fenc=utf-8
set fencs=iso-2022-jp,utf-8,euc-jp,cp932
set fileformats=unix,dos,mac
colorscheme desert
set imdisable
set showtabline=2
set guifont=Osaka-Mono:h12
set columns=120
set lines=40
set antialias
set transparency=5
syntax on
set autoindent
set tabstop=4
set number
set nobackup

以上、メモ書き。

お名前.com の提供する VPS では、デフォルトでは CPAN モジュールの HTML::Template が入っていない。MT4i を利用するためには HTML::Template は必須なので、VPS に SSH ユーザーを作成した後に SSH ログイン、su コマンドで root を取得して、CPAN を設定、その後 HTML::Template をインストールする必要がある。

MovableType でサイドバーなどを動的出力したい時には SSI を使う場面が多いが、SSI そのものが使えなかったり、*.shtml の拡張子を強制された上に .htaccess で拡張子の変更をできないサーバーもある。そんな時は PHP の include を利用する。拡張子は .php になってしまうが、やっていることは基本的に同じなので問題ないはず。

MT4i

UTF-8 に対応した Web ブラウザーやツールなども増えてきましたが、まだまだShift_JIS のみサポートというケースも少なくありません。特に、i-mode などの携帯電話用 Web ブラウザーの多くが Shift_JIS のみのサポートに留まっています。日本では最も普及していると思われる、しかも至極手軽にネットへ接続できる環境があるというのに、そこからは自分のブログが文字化けして見ることができないわけです。

そこで作成したのが MT4i です。MT4i は、(MovableType の MT::Object を利用して)MovableType のデータベースからデータを読み込み、文字コードを Shift_JIS に変換、携帯電話向けにレイアウトして出力し、携帯電話に対応させる為のスクリプトです。言語は Perl です。

MovableType をメインの CMS として使った時に、docomo、au、SoftBank の3キャリアの携帯でも動的ながら携帯に最適化された状態で閲覧できるようにするための MovableType 用プラグイン。

この Techlog について

my photoこの Techlog では主に僕の仕事などの活動で必要になった、デザインや技術の話題、ソースを取り上げて書いています。

Twitter Flickr Last.fm Skype Tumblr Facebook YouTube FriendFeed