php中使用utf-8,PHP中UTF8和UTF-8可以混用吗?

博客讨论了在libiconv和PHP的iconv库中,UTF-8和UTF8被识别为相同编码,即utf8。在MySQL中,必须使用'utf8'而不是'utf-8'创建表。同时,mbstring的mbfilter_utf8.c也确认了这一等价性。
摘要由CSDN通过智能技术生成

根据 libiconv-1.14/lib/encodings.def , UTF-8和UTF8都会被识别成utf8编码,所以没有区别,所以所有使用libiconv的程序都没问题,比如php的iconv库。/* General multi-byte encodings */

DEFENCODING(( "UTF-8", /* IANA, RFC 2279 */

/*"UTF8", JDK 1.1 */

/*"CP65001", Windows */

),

utf8,

{ utf8_mbtowc, NULL }, { utf8_wctomb, NULL })

#ifdef USE_HPUX_ALIASES

DEFALIAS( "UTF8", /* HP-UX */

utf8)

#endif

根据 ext/mbstring 的 mbfilter_utf8.c ,UTF-8 (作为name/mimename) 和 UTF8 (作为alias)也都可以被识别,所以也一样。static const char *mbfl_encoding_utf8_aliases[] = {"utf8", NULL};

const mbfl_encoding mbfl_encoding_utf8 = {

mbfl_no_encoding_utf8,

"UTF-8",

"UTF-8",

(const char *(*)[])&mbfl_encoding_utf8_aliases,

mblen_table_utf8,

MBFL_ENCTYPE_MBCS

};

顺便说一下,mysql不识别 utf-8,必须用utf8。mysql> create table t1 (id int primary key, name int) character set utf-8;

ERROR 1115 (42000): Unknown character set: 'utf'

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值