2011年12月14日
1. PHP 2.0.4 から PHP 1.3.13 にダウングレード
書籍や web サイトに情報が少ないため、PHP 2 から PHP 1.3 にダウングレードする。
PHP 1.3.13 のパッケージをダウンロードしてサーバーにアップロード後、解凍。
ブラウザから解凍した URL にアクセスするとエラーが表示されるので ./app/config/core.php
の下記の行のコメントアウト外す。
date_default_timezone_set('UTC');
2. MySQL 文字化け対策
/Application/MAMP/Library/support-files/my-small.cnf を
/Application/MAMP/db/mysql/my.cnf にコピー
[mysqld]
default-character-set = utf8
skip-character-set-client-handshake
の2行を追加
[mysql]
default-character-set = utf8
の1行を追加
phpMyAdmin にてテスト用のテーブルを追加(varchar のフィールド必須)
日本語を入力してみる。
日本語が正しく表示され、ここまで OK 。
php5.3 からデータベースの内容を取り出し、表示してみる。
日本語入力したフィールドに "???????????" と表示、下記の mysql コマンドで character-set を確認
/Applications/MAMP/Library/bin/mysql で MySQL monitor を起動
mysql> SHOW VARIABLES LIKE 'char%';
+--------------------------+--------------------------------------------+
| Variable_name | Value |
+--------------------------+--------------------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /Applications/MAMP/Library/share/charsets/ |
+--------------------------+--------------------------------------------+
8 rows in set (0.00 sec)
character_set_database、character_set_server が latin1 となっている (Abarth の影響か?)
client と server で文字コードが異なるのが、気持ち悪い。
このまま php で日本語のテストデータをデータベースに入れてみて phpMyAdmin で表示して
みると案の定、文字化けしている。
この文字化けデータを php のサンプルアプリで表示させてみると、ちゃんと表示する。
前回、素の php でアプリを作成した時はデータベース接続時に下記のコードで解決した。
mb_language("uni");
mb_internal_encoding("utf-8");
mb_http_input("auto");
mb_http_output("utf-8");
$this->iConn = mysql_connect(cUrl, cUser, cPass);
if (!$this->iConn)
{
die("MySQL への接続に失敗しました: " . mysql_error() . "
\n");
}
mysql_query("SET NAMES utf8",$this->iConn);
$this->iSelectDb = mysql_select_db(cDatabase, $this->iConn) or die("データベースの選択に失敗しました
\n");
果たして CakePHP では?
/app/config/database.php の
var $default = array(
'driver' => 'mysql',
'persistent' => false,
'host' => 'localhost',
'login' => 'root',
'password' => 'root',
'database' => 'laffty',
'prefix' => '',
★ 'encoding' => 'utf8',
);
で OK となった。
Posted at 2011/12/14 21:44:28 | |
トラックバック(0) |
備忘録 | パソコン/インターネット
2011年12月14日

特筆すべき点はなし、昭和の映画でした。
今見るにはちょっと厳しいかも...
中野良子さん、新宿で馬の群れはないだろう。
Posted at 2011/12/14 00:15:37 | |
トラックバック(0) |
映画 | 音楽/映画/テレビ