作者clifflu (缺钱啦 @@)
看板PHP
标题Re: [请益] php & mysql一问
时间Mon Oct 3 13:24:20 2005
※ 引述《etst (灆)》之铭言:
: ※ 引述《ottokang (猫猫的大玩偶)》之铭言:
: : 在资料表(table)建立的时候就可以指定要以unicode储存
: : 给你一个建立资料表的范例SQL
: : 'CREATE TABLE `readers_class` (
: : `class_name` CHAR(10) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL ,
: : ) TYPE = MYISAM ';
: ^^^^^^^^^^^^^可以请问一下加这行TYPE是什麽意思吗?
指定 physical layer 储存格式.
mysql 有 MyISAM, innoDB ... 好像还有一种 XD
: : 加上蓝色那行就行了
: : 但是要注意资料库系统有没有支援unicode
: 再问一下
: 如果table建立时指定是utf-8
: 那php是不是也要加上
: <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
: 把网页编码也指定成utf-8?
未必.
当你的 script 去跟 db (在此以 mysql 为例) 去要资料 (下 query / fetch) 时,
可以先 SET Charset; 那麽 db 会帮你把资料转成你要的编码.
同样的, 你也可以在 script 内部转 (如 php 的 iconv())
或是选择把这些 code 丢出去.
也就是重点在於 '先决定在哪个层级, 要让文字以什麽编码储存'
你要是想在 db, script 都使用 Big5 操作, 直到传送时再转成 UTF-8 也是可以的.
上面那行 meta 指令的意义, 只在於告诉 browser 这个 html 档是使用 UTF 编码,
至於後端你是怎麽处理, 对 browser 一点也不重要 ^^;;
希望酱写能看得懂~
--
鬼压床怎麽办
骑上去啊
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.217.134
1F:推 KennyL:从phpmyadmin中选资料库->引擎可以看到MySQL支援的引擎种类 10/03 21:58
2F:推 ottokang:写的好~ 10/03 22:39