[MT覚書]MT4で「~」「\」が文字化け&日本語タグクラウド重複【煮詰まり編】

2012年12月12日

カスタマイズに少し慣れてきたら、今までは見過ごしていた問題がかなり気になりはじめました。
まず、記事ページで「~」と「\」が文字化けする問題。 この2つの文字が「?」マークに置き換わってしまいます。
どちらもお客さんがよく使いそうな文字であるので、どうにか管理画面を引き渡す前に解決したいと思っています。
以下は放浪の記録です。

未解決編

MT4の不具合 ~の文字化け|みーのネット内職はじめから+
業界の方でなくがんばってMT4を導入した方、原因が特定できずお手上げの模様。
こういう人は多いんじゃないだろうか。

【MT】MovableType質問スレ 実質その10【SixApart】
質問スレなのに答えてる人少なすぎだっつーの!

545 :Trackback(774):2008/02/13(水) 11:16:36 ID:4IW71dxU
mt3.6を使用しています。
日記に「~」を使用すると「?」に変換されて保存されてしまうのですが、
これを「~」のまま表示・保存させるにはどのようにしたらよいでしょう?
環境
mt3.6
Red Hat Enterprise
Apache2.0.46
MySQL4.1.20 (UTF-8)

回答がないが、やはり初歩的だからスルーなのだろか(悲)

MT4で日本語タグ(クラウド)がまとまらない
最初意味がわからなかったが、同じタグを入れているのにエントリー毎に出力されてしまうということだったのだね。
【不採用:文字コード関連プラグイン編】

出力ファイルの文字コードを変換するプラグイン:TransEncoding
当初はこのプラグインを使おうかと思ったのだが、検索に対応していないのと、後にUTF-8の方が主流だとわかってやめました。
【不採用:PublishCharsetとmt-config.cgiの修正編】
最終的に出力はUTF-8のまま変更したくなかったので、結局採用は見送りました。

データベースの設定(MySQL) | Movable Type 4 ドキュメント
一番下に環境変数「PublishCharset」と、MySQL 4.1 以上でのデータベースの作成時に指定する文字コードの対応表があります。

使えるねっと :: トピックを表示 – MySQL4.1の文字化けを解消するにはどうすればいいでしょうか。
キャラクターセットの詳細な説明アリ。

3.MT4 インストール  – VineLinux 自宅サーバ構築 ブログでアフィリエイトを稼ぐ VineLinux4
設定ファイルmt-config.cgi の編集の欄に、「PublishCharset EUC-JP」の記述アリ。

#47 (MT4 にて文字化けする場合がある) – Projekt Zwischen – Trac
MT4 からデフォルトインストール時に mt-config.cgi へ PublishCharset? を記述しなくなったことに言及している。

不採用:DB初期化で直した編

MT4で日本語を用いたタグクラウドがおかしい・~が出ない問題点
原因とCoreServerでの復旧の様子が詳細に書かれており、ここのリンクを参考で載せている人が多いです。
しかし自分の使っているサーバのPHPmyadminでは、以下のものが変更できないので、
上記と同じ方法がとれなかった。それに初期化はちょっとコワイ・・・。
・MySQL DBの種類
・MySQLの文字セット: ECU-JP Japanese(ujis)
・MySql接続照合順序:utf8_unicode_ci

<参考>上記サイトと同様の方法で解決したサイト

~~~全角ニョロ(~)文字化け問題解消か?~~~ – 超人日報

MT4 の日本語を使用したタグクラウドが変だ – Web備忘録

Movable Typeの文字コード変更 – krbys.net

不採用:SQLSetNames 1のコメントはずし編

R社提供のconfig.cgiに上記の記述がなかったので、できませんでした。

Movable Type 4 リリース候補第2版を公開 – Movable Type 備忘録
に気になる記述が。

この SQLSetNames というコンフィグは、mt-config.cgi に記述するもので、MySQL 4.1 以上の場合は必ず ‘1’ にする必要があるみたい。
でも、今回は MT 4 のアップグレードでは mt-config.cgi が自動生成されて、事前に存在すると問題があったので、データベースだけアップグレードしたために、SQLSetNames が ‘0’ で文字化けしたようです。

XREAのサーバーでMySQL5を使っているとMovable Type4をインストールするとそれまで使っていたデータベースのデータが文字化けするようだ。: マイチキンハート
これなのか!!(かなり期待の眼差し)
でも57行目はともかく、某R社から落としてきたmt-config.cgiには、「# SQLSetNames 1」なんて記述はないぞ。
実験してもよいMTで試してみましたがダメでした。ora

MT3>MT4バージョンアップ時不具合
前に見たここにも、「SQLSetNames 1」の記述がありました。
ここの管理人さんも書いてもダメだった模様。

<参考>

VPSレンタルサーバー:WEB備忘録(うぇぶびぼうろく)

3.MySQL5以降のサーバーで文字化けする: XREAでMTを!

MT 4.0 にアップグレード – アメリカでがんばりましょう

不採用:my.cnf記述追加編

ぱんだくんのBlog: Movable Type4へアップデート
/etc/my.cnfへの記述追加で移行の際の文字化けを回避する方法が載っている。
試してない。

文字コード編

Blog | AKINAKANO : 文字コード設定~MT編
UTF-8が互換性が高いことに言及している

Shift-JISテキストを正しく扱う
Shift-JISを使ったときにありがちな(?)エラーについて記述

MovableTypeの文字コードを変更する方法 | VIVABlog元々Shift-JIS、EUC-JPで運営しているMovableTypeのブログ・サイトを、UFT-8など他の文字コードに変換する手順。文字コード変換スクリプトへのリンクがある。

★はてな:MovableTypeの文字コードについて質問です。
文字コードは前回の質問のようにEUCです。UTF-8に変更したいのですが、文字コードをどっちにしても、それぞれ一長一短であると聞きました。それぞれの長所と短所を教えてください。

TagSupplementals プラグインでタグクラウドを作る – Movable Type 備忘録このプラグインはUTF-8のみ対応。
コメント欄下の方で、Mysqlの文字セットがEUCで困っている人の書き込みがある。

R社VPS文字化け編

MLog: [PHP-users 32021] Re:「~」が「?」に文字化けするのですが、対応方法を教えていただけますでしょうか?
MTではないが、R社VPSの文字化け問題について触れている。やっぱりデフォがEUCなのが問題ぽい。

RapidsiteにWordpressをUTF-8でインストール
「php.iniを開いてmbstring関係の設定を見ると・・・やはりデフォルトがEUC。
なるほど、RapidsiteさんはEUCをベースに考えられているのですね。」
との言及アリ。

下はおまけ。

老舗テンプレサイトまで文字化け?

http://drblog.jp/2006/05/03-mtconfigcgioriginal/
真ん中らへん「使用するデータベースを設定する」の項目に、
「31?71行目」という表記があります。明らかにニョロが?に変換されたぽい

ネタ

「美乳」で文字化けが直る
美乳で直るんだったらいくらでもいれてやるよ美乳美乳美乳美乳ヽ(`Д´)ノ

で、かなり煮詰まった感じですが、だんだん光が見えてきました。次回は解決編!