仓酷云

标题: PHP网页设计PHP网页编码成绩:恣意字符集正常显示网... [打印本页]

作者: 第二个灵魂    时间: 2015-2-4 00:02
标题: PHP网页设计PHP网页编码成绩:恣意字符集正常显示网...
一下弹出N多页面!很明显,你的留言本并没有做好安全防范,被人用JS代码小小的耍了一下,我很同情你这个时候的感受,但是没有别的办法了,继续努力吧!   凡是情形下,咱们的网页要指定一个编码字符集,如 GB2312、UTF-8、ISO-8859-1 等,如许咱们就能够在网页上显示咱们指定编码的文字了。然而咱们极可能会碰到这类情形,那就是咱们能够但愿在 ISO-8859-1 编码的网页上显示汉字,或在 GB2312 编码的网页上显示韩文等。固然一种处理举措就是咱们不必 ISO-8859-1 或 GB2312 编码,而一切都采取 UTF-8 编码,如许咱们只需在这类编码下,就能够夹杂显示列国文字了,这是如今良多网站采取的办法。
而我这里所说的并不是下面这类办法,由于下面这类办法必需要指定字符集为 UTF-8 才可以,一旦用户手工指定为其他字符集,或能够由于某些缘由,谁人字符集设置没起感化,而阅读器又没有准确主动辨认的话,咱们看到的网页仍是乱码,特别是在某些用框架作的网页中,某个框架中的页面假如字符集设置没起感化,在 firefox 中显示乱码并且还没法改动(我是说在不装RightEncode插件的情形下)。
而我这里引见的办法即便是把网页指定为 ISO-8859-1 字符集,也可以准确显示汉字、日文等。道理很复杂,就是把除 ISO-8859-1 编码中前128个字符之外的一切其他的编码都用 NCR(Numeric character reference) 来暗示。好比“汉字”这两个字,假如咱们写成“汉字”这类模式,那末它在恣意字符集下都可以准确显示。依据这个道理,我写了上面这个法式,它可以把现有的网页转化为在恣意字符集下都能显示的网页。你只需求指定源网页的字符集和源网页,点提交按钮,就能够失掉方针网页了。你也能够只转化某些文字,只需求把文字填写到文本框中,并指定这些文字本来的字符集,点提交按钮,就会在页面下面显示编码后的文字了。
下载: nochaoscode.php
<?php
function nochaoscode($encode, $str, $isemail = false) {
    $str = iconv($encode, "UTF-16", $str);
    for ($i = 0; $i < strlen($str); $i++,$i++) {
        $code = ord($str{$i}) * 256 + ord($str{$i + 1});
        if ($code < 128 and !$isemail) {
            $output .= chr($code);
        } else if ($code != 65279) {
            $output .= "&#".$code.";";
        }
    }
    return $output;
}
$encode = $_POST['encode'];
if ($encode == '') $encode = 'UTF-8';
if ($_FILES['file']['size'] > 0) {
    $data = nochaoscode($encode, file_get_contents($_FILES['file']['tmp_name']));
    header ("Content-type: application/octet-stream;");
    header ("Content-length: ".strlen($data));
    header ("Content-Disposition: attachment; filename=".$_FILES['file']['name']);
    echo $data;
} else {
    header ("Content-type: text/html; charset=UTF-8");
    if ($_POST['email']) {
        echo htmlentities(nochaoscode($encode, $_POST['email'], true));
    }
    else {
        echo htmlentities(nochaoscode($encode, $_POST['content']));
    }
?>
<form enctype="multipart/form-data" method="POST">
encode: <input type="text" name="encode" value="UTF-8" /><br />
file: <input type="file" name="file" /><br />
<input type="submit" />
</form>
<form method="POST">
encode: <input type="text" name="encode" value="UTF-8" /><br />
content: <textarea name="content"></textarea><br />
<input type="submit" />
</form>
<form method="POST">
encode: <input type="text" name="encode" value="UTF-8" /><br />
email: <input name="email" /><br />
<input type="submit" />
</form>
<?php
}
?>
说说这一个月左右的学习情况和心得吧!我个人认为,既然决定了去做一件事,那就要以认真的态度去对待!既然决定来学习了,那不管当初是抱着怎样的心态来到这个培训班的,都要让自己认真的投入到学习中。
作者: 爱飞    时间: 2015-2-4 08:08
最后祝愿,php会给你带来快乐的同时 你也会给他带来快乐。
作者: 透明    时间: 2015-2-9 19:53
Apache不是非得用80或者8080端口的,我刚开始安得时候就是80端口老占用,就用了个 81端口,结果照常,就是输localhost的时候,应该输入为 localhost:81
作者: 柔情似水    时间: 2015-2-18 18:36
当然这种网站的会员费就几十块钱。
作者: 简单生活    时间: 2015-3-6 08:53
建议加几个专业的phper的群,当然啦需要说话的人多,一处一点问题能有人回答你的,当然啦要让人回答你的问题,平时就得躲在里面聊天,大家混熟啦,愿意回答你问题的人自然就多啦。
作者: 灵魂腐蚀    时间: 2015-3-12 22:54
小鸟是第一次发帖(我习惯潜水的(*^__^*) 嘻嘻……),有错误之处还请大家批评指正,另外,前些日子听人说有高手能用php写驱动程序,真是学无止境,人外有人,天外有天。
作者: 精灵巫婆    时间: 2015-3-17 17:23
本文当是我的笔记啦,遇到的问题随时填充
作者: 愤怒的大鸟    时间: 2015-3-23 08:31
首先我是坚决反对新手上来就用框架的,因为对底层的东西一点都不了解,造成知识上的真空,会对以后的发展不利。我的观点上手了解下框架就好,代码还是手写。当然啦如果是位别的编程语言的高手的话,这个就另当别论啦。
作者: 分手快乐    时间: 2015-3-26 13:27
兴趣是最好的老师,百度是最好的词典。
作者: 仓酷云    时间: 2015-4-8 12:45
当留言板完成的时候,下步可以把做1个单人的blog程序,做为目标,
作者: 山那边是海    时间: 2015-4-26 21:01
这些都是最基本最常用功能,我们这些菜鸟在系统学习后,可以先对这些功能深入研究。
作者: 飘灵儿    时间: 2015-4-28 12:30
最后祝愿,php会给你带来快乐的同时 你也会给他带来快乐。
作者: admin    时间: 2015-4-29 18:02
我要在声明一下:我是个菜鸟!!我对php这门优秀的语言也是知之甚少。但是我要在这里说一下php在网站开发中最常用的几个功能:
作者: 莫相离    时间: 2015-5-7 10:41
首推的搜索引擎当然是Google大神,其次我比较喜欢 百度知道。不过搜出来的结果往往都是 大家copy来copy去的,运气的的概率很大。
作者: 金色的骷髅    时间: 2015-5-8 02:02
Apache不是非得用80或者8080端口的,我刚开始安得时候就是80端口老占用,就用了个 81端口,结果照常,就是输localhost的时候,应该输入为 localhost:81
作者: 小妖女    时间: 2015-5-10 19:54
使用 jquery 等js框架的时候,要随时注意浏览器的更新情况,不然很容易发生框架不能使用。
作者: 不帅    时间: 2015-5-10 23:58
曾经犯过一个很低级的错误,我在文件命名的时候用了一个横线\\\\\\\'-\\\\\\\' 号,结果找了好几个小时的错误,事实是命名的时候 是不能用横线 \\\\\\\'-\\\\\\\' 的,应该用的是下划线  \\\\\\\'_\\\\\\\' ;
作者: 海妖    时间: 2015-6-12 22:38
至于模板嘛,各位高人一直以来就是争论不休,我一只小菜鸟就不加入战团啦,咱们新手还是多学点东西的好。
作者: 蒙在股里    时间: 2015-6-20 15:41
在我安装pear包的时候老是提示,缺少某某文件,才发现 那群extension 的排列是应该有一点的顺序,而我安装的版本的排序不是正常的排序。没办法我只好把那群冒号加了上去,只留下我需要使用的扩展。
作者: 小魔女    时间: 2015-6-27 02:50
这些都是最基本最常用功能,我们这些菜鸟在系统学习后,可以先对这些功能深入研究。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2