[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ファイルだと、バッファなどが足りないという状況になりますので、ご注意!!

  1. ;
  2. ; This file is a setting to use character-code "UTF-8" with rental server "CPI".
  3. ;
  4. ; 2007.07.18 BeLive
  5. ;
  6. mbstring.language = Japanese;
  7. mbstring.internal_encoding = utf-8
  8. mbstring.encoding_translation = On
  9. mbstring.http_input = UTF-8,SJIS,EUC-JP
  10. mbstring.detect_order = auto
3.作成したphp.iniを、httpsドキュメントルート下の適当なパスにFTP アップロード
例) /secure/utf-8 など
4.目的とするディレクトリ下に設定を反映するため、「.htaccess」を編集
「.htaccess」に「suPHP_ConfigPath /usr/home/(ユーザーID)/secure/(手順2で作成したディレクトリ)/」を加える。
例)

  1. AddHandler x-httpd-php442 .php
  2. Options +FollowSymLinks
  3.  
  4. suPHP_ConfigPath /usr/home/(ユーザID)/secure/utf-8/
※ここまでは、「我流天性 – がらくた屋」とほぼ同等
5.MySQL5の文字セットを変更する。
通常、CPIの設定ではMySQL5の文字セットは「ujis」となっている。
それを無理矢理、「utf8」に変更する。
変更前の状態はphpMyAdminのDBのエクスポートをすれば、確認することができる。

  1. -- phpMyAdmin SQL Dump
  2. -- version 2.9.0.2
  3. -- http://www.phpmyadmin.net
  4. --
  5. -- (中略)
  6. --
  7. CREATE DATABASE `** あなたのDB **` DEFAULT CHARACTER SET ujis COLLATE ujis_japanese_ci;
  8. USE `** あなたのDB **`;
これを「ALTER DATABASE」を使い、無理矢理変更する。

  1. ALTER DATABASE `** あなたのDB **` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

ALTER DATABASE

この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のエクスポートすると下記の通りとなる。

  1. -- phpMyAdmin SQL Dump
  2. -- version 2.9.0.2
  3. -- http://www.phpmyadmin.net
  4. --
  5. -- (中略)
  6. --
  7. CREATE DATABASE `** あなたのDB **` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
  8. USE `** あなたのDB **`;
6.WordPress Me 2.2.1をインストール。
文字コードを「UTF-8」でインストール2
注意する点は、「ホスト名」は「localhost」ではなく「127.0.0.1:3307」とすること。
WordPress インストール

最後に

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

  1. 実際にはビジネスパートナー用テストサーバを使用 [back]
  2. この記事はMe 2.0.5で作成 [back]

Entry Filed under: BeLive,WordPress,技術情報

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

Required

Required, hidden

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


Calendar

2012年2月
« 9月    
 12345
6789101112
13141516171819
20212223242526
272829  

BeLive

E-mail: request@belive.jp
more...

Sales

レンタルサーバ CPI
レンタルサーバ X-SERVER
会計ソフトのピクシス
2万人のSOHOプロフィールを掲載中!!!
【@SOHO】
SOHO,在宅ワークの求人
いべんとするなら、いべんとじょぶ!
いべんとじょぶ!

Most Recent Posts

Posts by Month

Feeds