[WordPress]CPIのサーバでUTF-8で設定する方法
2007.07.24
はじめに
WordPressでGoogle MapsなどのAJAXを利用しようとした場合、どうしても文字コードをUTF-8で作成しなければならない。
しかし、現在 BeLiveが借りているサーバ「CPI」では、内部文字コードはEUC-JP、データベースはujisの設定となっている。
本記事では、その対処方法について記録するものである。
なお、本記事を書くにあたり 金内氏のブログ「我流天性 – がらくた屋」の記事を参考にさせて頂いた。
情報をいただいた通りすがりさんに、まずは感謝する。
設定環境
- レンタルサーバ CPI
共用サーバーシェアードプラン 2007 / G10 (相当) 1 - PHP4.4.2
- MySQL 5.0.26
- WordPress ME2.2.1
設定方法
- 1.現在のサイトの設定をバックアップ
- とにかく、現在のHTMLソース、DBのバックアップ、PHPの設定内容等すべてをバックアップしておく
- 2.ローカルにてUTF-8設定用のphp.iniを作成
- 通常とは異なる設定となるので、別途php.iniを作成する。
※その際、必ず基の設定内容をコピーして、以下の箇所だけを変更することをおすすめします。
下記だけのiniファイルだと、バッファなどが足りないという状況になりますので、ご注意!!- ;
- ; This file is a setting to use character-code "UTF-8" with rental server "CPI".
- ;
- ; 2007.07.18 BeLive
- ;
- mbstring.language = Japanese;
- mbstring.internal_encoding = utf-8
- mbstring.encoding_translation = On
- mbstring.http_input = UTF-8,SJIS,EUC-JP
- mbstring.detect_order = auto
- 3.作成したphp.iniを、httpsドキュメントルート下の適当なパスにFTP アップロード
- 例) /secure/utf-8 など
- 4.目的とするディレクトリ下に設定を反映するため、「.htaccess」を編集
- 「.htaccess」に「suPHP_ConfigPath /usr/home/(ユーザーID)/secure/(手順2で作成したディレクトリ)/」を加える。
例)- AddHandler x-httpd-php442 .php
- Options +FollowSymLinks
- suPHP_ConfigPath /usr/home/(ユーザID)/secure/utf-8/
- ※ここまでは、「我流天性 – がらくた屋」とほぼ同等
- 5.MySQL5の文字セットを変更する。
- 通常、CPIの設定ではMySQL5の文字セットは「ujis」となっている。
それを無理矢理、「utf8」に変更する。 - 変更前の状態はphpMyAdminのDBのエクスポートをすれば、確認することができる。
- -- phpMyAdmin SQL Dump
- -- version 2.9.0.2
- -- http://www.phpmyadmin.net
- --
- -- (中略)
- --
- CREATE DATABASE `** あなたのDB **` DEFAULT CHARACTER SET ujis COLLATE ujis_japanese_ci;
- USE `** あなたのDB **`;
- これを「ALTER DATABASE」を使い、無理矢理変更する。
- ALTER DATABASE `** あなたのDB **` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
- このDDL文を実行すると次のような警告が表示されるが、無視する。
Warning: Cannot modify header information – headers already sent by (output started at …/header_meta_style.inc.php:27) in …/common.lib.php on line 1154 - 変更後の状態をphpMyAdminのDBのエクスポートすると下記の通りとなる。
- -- phpMyAdmin SQL Dump
- -- version 2.9.0.2
- -- http://www.phpmyadmin.net
- --
- -- (中略)
- --
- CREATE DATABASE `** あなたのDB **` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
- USE `** あなたのDB **`;
- 6.WordPress Me 2.2.1をインストール。
- 文字コードを「UTF-8」でインストール2。
注意する点は、「ホスト名」は「localhost」ではなく「127.0.0.1:3307」とすること。

最後に
WordPressをインストールする前に、テスト用のPHPスクリプトを作成して、データベースへの読み書きを検証。
ホスト名の指定と「SET NAMES utf8」によるクライアント側文字セットの設定に気をつければ、あとは問題ないようだ。
また、WordPressはwp-includes/wp-db.phpで、ちゃんと「SET NAMES $this->charset」をしているので、問題なくいけそうである。



3 Comments Add your own
1. びぃらいぶの記録&hellip | 7月 24th, 2007 at 2:15 AM
【技術メモ】WordPressをUTF-8でインストールする…
CPIでWordPressを利用しようとしたとき、どうしても初期設定ではEUC-JPしか使えない。以前、無理矢理UTF-8で動かすことを試みたがあまりにも無茶過ぎた。
(more…)
2. 近頃の、とあるR。&hellip | 10月 22nd, 2008 at 8:45 PM
[...] CPIのサーバでUTF-8で設定する方法 [...]
3. メモ『CPIでパーマ&hellip | 2月 11th, 2009 at 1:24 PM
[...] ● [WordPress]CPIのサーバでUTF-8で設定する方法 ? BeLive : Blog Archive ● CPIでWordpress ME2.2が文字化けする – 我流天性 – がらくた屋 [...]
Leave a Comment
Some HTML allowed:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>
Trackback this post | Subscribe to the comments via RSS Feed