PHP 多字节字符串和字符集
// 我看过的两本书 PHP 的书中提及到 PHP6 的新特性,其中两个是 namespace 和 unicode,
// 从 PHP5.3 开始,php 已经支持 namespace 了; 而 Unicode 在 PHP5.3 中还没有发布。
//
// 看书看到 PHP 的多字节处理,想到前段时间还会自己截取 中英混合的字符串,那时候花了很长时间来看 utf-8,
// gbk, gb2312, gb18030, unicode 之类的,现在看有了多字节处理的扩展不需要那么麻烦了。
//
// php5 在两个扩展中支持字符编码和多字节问题:
// iconv 和 mbstring
// 两个之间的主要区别:
// iconv 使用的一个外部的库;而 mbstring 使用的是 php 帮定的库。
// 因为 iconv (只少在最新的 linux 版本中)支持更多的编码,所以 iconv 可能是通用话最好的选择。
/**
* iconv 函数
*/
iconv_get_encoding()
// 0/1
// Retrieve internal configuration variables of iconv extension
iconv_mime_decode_headers()
// 1/3
// Decodes multiple MIME header fields at once
// 返回数组
// Returns an associative array that holds a whole set of MIME header fields specified
// by encoded_headers on success, or FALSE if an error occurs during the decoding.
iconv_mime_decode()
// 1/3
// Decodes a MIME header field
// Returns a decoded MIME field on success, or FALSE if an error occurs during the decoding.
iconv_mime_encode()
// 2/3
// Composes a MIME header field
// Returns an encoded MIME field on success, or FALSE if an error occurs during the encoding.
iconv_set_encoding()
// 2/2
// Set current setting for character encoding conversion
// Returns TRUE on success or FALSE on failure.
// iconv_set_encoding() 可以用来设置内部编码和输出编码;
// 内部编码设置可以影响一系列处理字符串的函数。输出编码选项丝毫不会影响那些功能,
// 但是可以用来于 ob_iconv_handler 输出缓冲处理器组合使用.
// 如果开启,php 将自动把输出到浏览器的文本从内部编码转换为输出编码。
// --
ob_start( 'ob_iconv_handler');
iconv_set_encoding( 'internal_encoding', 'UTF-8');
iconv_set_encoding( 'output_encoding', 'ISO-8859-1');
print_r( iconv_get_encoding() );
$text = <<<TEXT
GNU is Not Unix,
PHing Is Not GNU make,
my
相关文档:
将php服务器架到linux下时没有注意该问题,
前几天倒是碰到了在linux下验证码的图片无法显示的情况,发现linux下也要有gd库的支持,于是安装了php5-gd(本人使用的是php5)
,这个问题解决了
今天突然发现img图片无法显示,上网搜了一把,又经过测试得出如下结论
<img src="pc.jpg"......>
他会以当前路径 ......
一、什么是数组
数组就是一组数据的集合,把一系列数据组织起来,形成一个可操作的整体。数组的每个实体都包含两项:键和值。
二、声明数据
在PHP中声明数组的方式主要有两种:一是应用array()函数声明数组,一是直接为数组元素赋值。
<1>array()函数声明的数组的方式array([mixed...]) 参数mixed的语法 ......
文件锁有两种:共享锁和排他锁,也就是读锁(LOCK_SH)和写锁(LOCK_EX)
文件的锁一般这么使用:
$fp = fopen("filename", "a");
flock($fp, LOCK_SH) or die("lock error")
$str = fread($fp, 1024);
flock($fp, LOCK ......
这个原因有以下几个:
第一,在php中的内容不是用utf-8进行编码的,可以再php头部添加:header("Content-Type:text/html;charset=utf-8");
第二,php文件本身不是utf-8编码的,这可以更改zend-studio,的文件编码格式,指定为utf-8方法是:windw->preference->General->Workspace->Text file ......