php处理多字节 -- mbstring_PHP_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > PHP > php处理多字节 -- mbstring

php处理多字节 -- mbstring

 2012/7/9 21:23:49  choice  程序员俱乐部  我要评论(0)
  • 摘要:由于php默认不是unicode(5.3以及以下),所以对多字节文字的处理不够好。对中文字符串的处理,可以根据编码的特性进行处理;也可以使用Multi-ByteString函数,启用该模块后可以使用相应的可以处理非ascii编码的文字了。处理string的函数均有对应的Multi-ByteString函数,前面加上mb_即可。例如:<?phpecho"<h2>中文字符串的处理</h2>";$str="hello,博客";echo"字符串:{$str}<
  • 标签:PHP

由于php默认不是unicode(5.3以及以下),所以对多字节文字的处理不够好。

对中文字符串的处理,可以根据编码的特性进行处理;
也可以使用Multi-Byte String函数,启用该模块后可以使用相应的可以处理非ascii编码的文字了。处理string的函数均有对应的Multi-Byte String函数,前面加上mb_即可。
例如:
<?php
echo "<h2>中文字符串的处理</h2>";
$str="hello,博客";
echo "字符串:{$str}<br />";
echo "字符串长度:".strlen($str)."<br />";
echo mb_strlen($str);
echo mb_substr($str,6,2);
?>

输出结果为:
字符串:hello,博客
字符串长度:12
8博客

?

如何使php支持mbstring库
确认你所改的php.ini是当前的配置。可以用phpinfo()函数查出来。从phpinfo()的输出信息中可以找到模块存放目录
在linux下进入extension_dir所指的目录,看看有没有mbstring.so文件。
windows下看有没有php_mbstring.dll。若有即可在php.ini中激活:
extension=mbstring.so
或者
extension=php_mbstring.dll

?

Linux下为PHP添加mbstring扩展库
一、Linux主机安装mbstring扩展库指南(源码安装)
以下命令在命令行下输入:
1、用cd命令进入php的源代码目录下的etc/mbstring目录下,如“/src/php5.2.5”,即“cd /src/php5.2.5”;
2、执行
#/usr/local/php/bin/phpize (假设php安装在/usr/local/php目录下)
3、执行
#./configure --with-php-config=/usr/local/php/bin/php-config
4、执行make && make install
5、之后系统会提示你mbstring.so文件所在的目录。根据php.ini中指示的extension_dir指向的目录中,将其复制过去.或将mbstring.so复制到/usr/local/php/ext目录下,在手配置参extension_dir="/usr/local/php/ext"指向mbstring.so所在目录.
6、修改php.ini,添加一句extension=mbstring.so
然后重启apache:运行 /service httpd restart即可完成安装。


二、Linux主机安装mbstring扩展库指南(rpm安装)
如果你用的是linux自带的apache+php+mysql
命令:
#rpm -q php (得到php的版本号)
然后下载php-mbstring:
注意php-mbstring-4.3.9-3.15.i386.rpm这里的版本号是可以更改的,只需要更改为你的php版本号就可以

安装:
#rpm -ivh php-mbstring-4.x.x-x.xx.i386.rpm
然后重启apache就可以了

?

三、设置
PHP的设置文件为/etc/php.ini。在这个例子中,以UTF-8编码为例进行设定。
#vi php.ini
把输出处理程序设为mbstring对应。
;output_handler =
--> output_handler = "mb_output_handler"
设定文字集为UTF-8。
;default_charset = "iso-8859-1"
--> default_charset = "UTF-8"
设置mbstring的语言为Chinese
;mbstring.language = Japanese
--> mbstring.language = Chinese
设置mbstring的内部编码为UTF-8。
;mbstring.internal_encoding = EUC-JP
--> mbstring.internal_encoding = UTF-8
设置mbstring的输入文字编码为自动判别方式。
;mbstring.http_input = auto
--> mbstring.http_input = auto
把mbstring输出文字编码设为UTF-8。
;mbstring.http_output = SJIS
--> mbstring.http_output = UTF-8
激活mbstring的文字编码自动变换方式。
;mbstring.encoding_translation = Off
mbstring.encoding_translation = On

?

########

整理,非原创。

发表评论
用户名: 匿名