MySQL提供了GBKUTF8存储输出的实现方法

MySQL提供了GBKUTF8存储输出的实现方法
一个站可以体验转化过程(GB2312 GBK,BIG5)为UTF8,会有很多问题。网站太大的事,只有一步一步。如果前面有代码变化不大,数据的转换将使整个事情变得更容易。后测试了几天,发现MySQL可以实现UTF8存储GBK输出mysql4.1。后,有一个特点,可以指定字符集用于当前的客户端连接。MySQL默认是latin1,或是通过字符连接MySQL服务器端的配置。我用utf8_general_ci创造领域。
DB:
SQL代码:
复制代码代码如下所示:
创建表(表)
int(10)不为空,
`名字` varchar(50)utf8字符集的整理utf8_general_ci不空,
指数(` g_id `)
)发动机= InnoDB utf8字符集的整理utf8_general_ci;
PHP:
存储操作指定连接校对使用utf8的字符集,而读操作指定为连接设置GBK字符的使用证明。
PHP代码:
复制代码代码如下所示:
< PHP
选择数据库和设置链接使用 / / UTF8
_select_db_utf()函数
{
mysql_select_db(美元-> db_name,美元-> db_link);
init字符
mysql_query(SET NAMES UTF8
mysql_query(设置字符UTF8
mysql_query(设置collation_connection = 'utf8_general_ci '
返回true;
}
选择数据库和设置链接使用 / / GBK
_select_db_gb()函数
{
mysql_select_db(美元-> db_name,美元-> db_link);
init字符
mysql_query(SET NAMES GBK
mysql_query(设置字符集
mysql_query(设置collation_connection = 'gbk_chinese_ci '
返回true;
}
>
需要注意的几个问题:
1。MySQL必须编译成的字符集,例如GB2312,GBK,UTF8等。
2的内容。数据库必须保证是最正确的UTF8编码。
3。存储和读取操作应指定连接校对的正确字符集。

如果前端代码运行数据不能用UTF8,你需要转换的字符。(例如,通过Ajax提交的数据是正确的UTF8,而不是转换。)

因为mb_string支持PHP的最完整的字符,而iconv是比它稍差。mb_string并不完全支持转码的一些特殊的性质,所以没有完美的转码方法为止。

mb_string和iconv再次被比较:

mb_string:
1。支持字符是最完整的
2。内容自动识别编码,而不需要确定原始字符的编码,但执行效率比iconv差多了。
三.内容= mb_convert_encoding美元(美元的内容,UTF-8

Iconv:
1。支持字符不完整
2。要确定原始字符的编码,但执行效率高于mb_convert_encoding在编码的情况下。
三.$content = iconv(GBK

tag:方法输出电脑软件mysql

相关内容