博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PHP字符编码问题之GB2312 VS UTF-8
阅读量:6775 次
发布时间:2019-06-26

本文共 1268 字,大约阅读时间需要 4 分钟。

  今天照着书随便写了段代码,代码意图是将字符串使用str_split()函数进行分割成数组,英文好说,但分割中文(两个中文一个数组单元)时就出问题了——

  看代码:

 
<!
DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"
>
<
html
>
<
head
>
<
meta
http-equiv
="Content-Type"
content
="text/html; charset=utf-8"
/>
<
title
>
New Document
</
title
>
<
meta
name
="author"
content
=""
/>
<
meta
name
="keywords"
content
=""
/>
<
meta
name
="description"
content
=""
/>
<
link
rel
="stylesheet"
type
="text/css"
href
=""
/>
</
head
>
<
body
>
<?
php
$string1 = "i am a phper";
$string2 = "这本书是蓝海战略";
print_r(str_split($string1));
echo "<br />";
print_r(str_split($string2,4));
?>
</
body
>
</
html
>

  测试结果打出我所料——中文乱码

2011060413392957.png

  Why?Why?Why?Why?乱码是什么?什么事乱码?给我解释解释,什么,是%&的乱码!

  因为英文无乱码,只有中文乱码,首先想到了编码的问题,于是突然想起来UTF-8的编码是UTF-8需要3个字节,死马当活马医吧!

  于是  print_r(str_split($string2,4));这句中的4 ,就被换成了6,于是乎——看结果

2011060413464094.png

  同样,你也可以试试将编码的charset的UTF-8改成GB2312,因为Unicode的编码是需要2字节的,所以说Gb2312的编码比UTF-8能够节约1/3的空间,但是如果你要兼容繁体中文、韩文、日文的其他的语言就需要使用UTF-8了。

  顺便发现了首动感的Music,拿来分享一下:

  —It's Ok?

  —It's OK!

[hjp3]hjptype=song&player=1&son=http://blog.whnews.cn/blogatca/Mon_0711/9062_1194571178_NI2PNoZHaTjRCmi.mp3&autoplay=yes&autoreplay=1&bgcolor=FFFFFF&width=200&height=20[/hjp3]

转载于:https://www.cnblogs.com/picaso/archive/2011/06/04/2072622.html

你可能感兴趣的文章
KOL当道,如何高效塑造个人IP?
查看>>
老铁,你想要的AI领域硬件开发平台诞生了!
查看>>
深度链接对社会化营销有哪些价值和作用?
查看>>
华为现神预判,为自己准备了5条强大的后援,拒绝再现中兴尬局
查看>>
强化学习01|“什么叫强化学习
查看>>
IT兄弟连 JavaWeb教程 AJAX定义以及解决的问题
查看>>
常用的linux查看主机命令
查看>>
android 资源
查看>>
我的友情链接
查看>>
Drupal7系统初步设置篇-Ubuntu 14.04 LTS
查看>>
4-3-word2003-word文件操作和视图设置
查看>>
DB2 常用命令大全【转】
查看>>
XenServer安装最佳实践
查看>>
centos6.4下Zabbix系列之Zabbix安装搭建及汉化
查看>>
PEOPLE CMM 第五日
查看>>
windows 2003 dhcp服务器,主机移动vlan获取原理ip
查看>>
Android 学习--ListView 的使用(四)
查看>>
js实现图片联动效果
查看>>
基于MDK编译器 STM32与12864液晶显示程序 和电路连接
查看>>
启动apache 提示命令不存在
查看>>