2012-06-07

PHP 中文變亂碼了

在本機表單輸入中文都沒有問題,上傳到測試環境就變成 ???。

依照在 Java 的經驗,頭開始痛起來。

幸好問題不難找,先到 phpmyadmin 直接輸入一筆資料看看,哇,亂碼,運氣真好,兇手是資料庫。


原來我在建 table 時,沒有指定使用語系的習慣,終於踢到鐵板了。

這是我慣用的語法:
create table photo (
    id integer not null auto_increment,
    uuid char(32),
    name varchar(100),
    mime varchar(100),
    primary key (id)
) comment '圖片';
本機的 mysql 預設是用 UTF-8,所以沒問題。

上面語法只要修改一下:
create table photo (
    id integer not null auto_increment,
    uuid char(32),
    name varchar(100),
    mime varchar(100),
    primary key (id)
DEFAULT CHARSET=utf8 comment '圖片';
就解決了。

沒有留言:

張貼留言