解决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模式等。
/ ......
function delete_array_element($arr,$i) {
$len = count($arr);
for($j=$i; $j<$len; $j++) {
$arr[$j] = $arr[$j+1];
}
array_pop($arr);//将数组的最后一个单元弹出
return $arr;
}
for($i=0; $i<10; $i++) {
$arr1[$i] = $i+1;
}
print_r($arr1);
echo "< ......
//冒泡排序(数组中实现)
function bubble_sort($arr) {
$cnt = count($arr);
if($cnt<=0) return false;
for($i=0; $i<$cnt;$i++) {
for($j=$cnt-1; $j>$i;$j--) {
if($arr[$j]<$arr[$j-1]) {
$tmp = $arr[$j];
$arr[$j] = $arr[$j ......
近来对php比较感兴趣,就断断续续的花了两个星期的时间把整个php开发需要用到的东西都装好了,大概的安装过程如下。
一、安装的软件:
Apache: 2.2.14
PHP:5.2.12
MySQL:5.1.42。
SVN:1.5.6
PHPMyAdmin:3.2.5
Zend Studio: 7.1
Zend Debugger: 5.1.14
二、安装过程:
1. 安装和配置apache
安装:首先从http://apa ......
最近用win7了,弄了个激活码,也不知道能用到什么时候,心里多少是有点忧虑的,没个底,管他的呢,现在能用就先用着,以前也没玩怎么过Vista,不过感觉win7界面上还是有点像Vista的,有些功能上也差不多,不过感觉用这个win7还真不错,我也只是相对XP的感觉,当然了,win7的硬盘空间倒是占用了不老少我19G的C盘装完后就还剩 ......