php--unlink常见权限问题

php中删除文件用unlink函数,

<?php
unlink($somefile)
     or die("Cannot delete file.")
?>

有时会出现权限问题,对文件有写权限,但是无法删除。

原因很简单,删除文件不是对文件的修改,而是修改目录,需要对文件所在目录有写权限。

php用smtp方式发送邮件标题中文乱码的解决方法

在php采用smtp方式发送中文邮件时,正文一般没问题,标题会出现乱码,解决方法是:

假设发送的标题是:

$subject="这是测试邮件";

如果直接发送会出现乱码,需设置正确的格式,如UTF-8格式的:

$subject="=?UTF-8?B?".base64_encode($subject)."?=";

再发送出去,标题就不会有乱码了!

PDO中文乱码解决办法

PDO 类, 发现也会有 UTF-8 乱码问题, 以下解决方案:

// 方法一:
PDO::__construct($dsn, $user, $pass, array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'utf8';"));
// 方法二:
PDO::__construct($dsn, $user, $pass);
PDO::exec("SET NAMES 'utf8';");


两种方法都能解决问题, 原理一样的, 使用哪中看自己喜欢了

来源:PHP100

php中的字符编码转换函数

在网页程序中,特别是设计到数据库的读出过程中,最恼火的就是字符编码的问题,php4.0.6以上的版本提供了mb_convert_encoding 可以方便的转换编码。

<?php
/* Convert internal character encoding to SJIS */
$str = mb_convert_encoding($str, "SJIS");

/* Convert EUC-JP to UTF-7 */
$str = mb_convert_encoding($str, "UTF-7", "EUC-JP");

/* Auto detect encoding from JIS, eucjp-win, sjis-win, then convert str to UCS-2LE */
$str = mb_convert_encoding($str, "UCS-2LE", "JIS, eucjp-win, sjis-win");

/* "auto" is expanded to "ASCII,JIS,UTF-8,EUC-JP,SJIS" */
$str = mb_convert_encoding($str, "EUC-JP", "auto");
?>

比如要把gb2312的字符串转为utf-8的

$str=mb_convert_encoding($str,"UTF-8","GB2312")