解决php URL地址传输乱码问题和下载文件名乱码的问题
正好工作中配到此类问题,写出来和大家分享。很多网友提供了使用urlencode 和 urldecode的方式去编码和解码,说的不全面。有的时候也会碰到这样的问题。
1.首先要检查你apache和php的服务器默认语言。在window下,可以参考apache的配置文件httpd.conf。 在AddCharset附近在加上下面的命令行:
AddDefaultCharset UTF-8
标志你的项目运行在utf-8的字符集下。并且保证项目中的文件格式也是utf-8格式的。否则也会出现中文乱码的问题。
在linux下,可以参考apache的配置文件httpd.conf。打开注释Include conf/extra/httpd-languages.conf, 并到httpd-languages.conf中加上AddDefaultCharset UTF-8 重新启动即可。
2.同时urlencode和urldeconde方式来解码编码,即可解决中文乱码
3.下载文件时候,通常也爆出文件名乱码的问题,根据上文,假如文件名是utf-8格式的编码,那么使用下面的方式转码:
iconv('utf-8', 'gb2312', $filename)
即可。
相关文档:
PHP中设计模式的学习笔记
设计模式(Design Pattern)是面向对象设计中反复出现的问题的解决方案,设计模式是一种比一般类的设计更加抽象的一种思想,
它往往涉及到多个类的定义和使用。
在PHP的开发过程中,经常使用到得设计模式包括:简单工厂模式、单元素模式、观察者模式、命令模式、策略模式以及MVC模式等。
/ ......
今天2010-02-26,开始我的php学习之路,
计划在未来的一段时间内,用足够多的时间和精力来学习了解php。
做到精通理解还有就是自己独立的开发出一系列的网站,作为对自己学习的检验。
做好技术总结和技术内核理解 ......
<?php
function page ( $totalPage , $currentPage,$url ,$halfPer=5)
{
$total=$totalPage-1;
$re="<td><a href="\" mce_href="\""$url\" onclick=\"page=prompt('共{$totalPage}页\\n自定义跳转到第几页:','');if(page>0&&page<$total)location.href=this.href+'='+(page-1);r ......
<?php
function make_rand($length="32"){//验证码文字生成函数
$str="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";
$result="";
for($i=0;$i<$length;$i++){
$num[$i]=rand(0,61);
$result.=$str[$num[$i]];
}
return $result;
} ......
可以使用的命令:
popen
fpassthru
shell_exec
exec
system
1.popen
resource popen
( string command, string mode )
打开一个指向进程的管道,该进程由派生给定的 command
命令执行而产生。
返回一个和 fopen()
所返回的相同的文件指针,只不过它是单向的(只能用于读或写)并且必须用 pclose()
来关闭 ......