mysql中繁体特殊字符的编码设置

有些繁体的特殊字在utf8中是无法显示的。例如"?實"。这个字在输入法中都无法打出来的。类似于白话的口语。为了支持这些字,数据库需要用比utf8支持更多字的utfmb4的charset。而只有5.3以上版本的mysql才支持。
为了支持这种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')."'");
		}
	}

猜你喜欢

转载自lhdst-163-com.iteye.com/blog/2162109
今日推荐