有些繁体的特殊字在utf8中是无法显示的。例如"?實"。这个字在输入法中都无法打出来的。类似于白话的口语。为了支持这些字,数据库需要用比utf8支持更多字的utfmb4的charset。而只有5.3以上版本的mysql才支持。
为了支持这种charset,必须在连接db后重新set下charset。注意,表用utf8mb4的charset同样支持charset是utf8的field。
刚才在iteye保存时,输入了?實,实际从?之后的字符都没有保存成功。估计也是编码的原因。
PHP代码如下
为了支持这种charset,必须在连接db后重新set下charset。注意,表用utf8mb4的charset同样支持charset是utf8的field。
刚才在iteye保存时,输入了?實,实际从?之后的字符都没有保存成功。估计也是编码的原因。
PHP代码如下
protected function _after_db()
{
//使用UTF8mb4存取数据库
$dbVersion = mysql_get_server_info();
if ($dbVersion > "5.3") {
mysql_query("SET NAMES '".C('DB_CHARSET_UTF8MB4')."'");
}
}