さくらインターネットMySQL5で文字化け

今の仕事で、専用サーバ、ビジネスプロ、ビジネスをレンタル。

(個人的には、スタンダードを)

私が今仕事で使っているのは、ビジネスプロとビジネス。

ビジネスはMySQL5、ビジネスプロはMySQL4。

ローカル(MySQL5)で、作ったものをアップしたところ、ビジネスの方で

データベースから引っ張ってきたデータだけが文字化け。

試しにビジネスプロにまったく同じ設定でアップしたところ問題はまったくない。


データベースも両方utf-8なのに、、、なぜ?

とりあえず

$stmt = $pdo -> query('SET NAMES utf8');
で文字化けは回避できたけど、これ使いたくないなぁ。
要調査。

Apacheでバーチャルホストを設定(for Windows)

ローカルで複数のサイトを管理する時に便利


C:/Program Files/Apache Group/Apache2/conf/

httpd.conf

# NameVirtualHost *:80
↓ コメントをはずす
NameVirtualHost *:80

<VirtualHost *:80>
    DocumentRoot  "C:/Program Files/Apache Group/Apache2/htdocs"
    ServerName localhost
    ErrorLog logs/error.log
    TransferLog logs/access.log
    <Directory "C:/Program Files/Apache Group/Apache2/htdocs">
        Options FollowSymLinks
        AllowOverride None
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>
<VirtualHost *:80>
    DocumentRoot  "C:/Program Files/Apache Group/Apache2/sample_htdocs"
    ServerName sample
    ErrorLog logs/sample-error.log
    TransferLog logs/sample-access.log
    <Directory "C:/Program Files/Apache Group/Apache2/sample_htdocs">
        Options FollowSymLinks
        AllowOverride None
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>
を追加する。

C:/WINDOWS/system32/drivers/etc/

hosts
127.0.0.1       localhost
↓ 追加する
127.0.0.1       localhost sample

※sampleの配下にあった.htaccessに
Allow from localhost 127.0.0.1
と指定していたので、
Allow from sample 127.0.0.1
に訂正。ここで少々ハマりました。
Apacheを再起動して完了。

http://localhost/ は・・・・・/Apache2/htdocs/にアクセス
http://sample/ は・・・・・/Apache2/sample_htdocs/にアクセスされる。
これで複数サイトの管理がスマートになる!はず。。

PEAR Mail/mimeDecode.php読み込み失敗

空メールの受信をトリガーにしてプログラムを起動後、メール情報を受け取る為にPEARを利用

require_once("Mail.php");
require_once("Mail/mimeDecode.php");

・・・・・
としてみたが、携帯メールへ「554 5.3.0 unknown mailer error 255」と返ってきた。

Mail.php だけ読み込んだ場合、エラーは出ない。
試しに関係のないPager.phpを指定してみると、これもエラー。

んー、わかんない。

それまでにPEARモジュールは使用しているので、include_pathが通っていないということはない。

んー、わかんない。


オペレーティングシステムに依存しない方法で、実行ファイルに直接パスを指定してみる。

$path = '/home/アカウント名/pear/PEAR/';
set_include_path(get_include_path() . PATH_SEPARATOR .
$path);

require_once("Mail.php");
require_once("Mail/mimeDecode.php");
・・・・・

通った!
何故なのか、まだ調べていないけど、、、
携帯サイトってなんだかすごく厄介だと思った。

« Previous Entries

 
ホットワード MySQL Ajax 紹介 インター 文字化け
割引クーポンまとめ情報 - クー割