全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 967|回复: 6
打印 上一主题 下一主题

如何让nginx 支持utf8 带bom的配置文件?

[复制链接]
跳转到指定楼层
1#
发表于 2012-11-25 18:08:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽
2#
发表于 2012-11-25 18:10:41 | 只看该作者
本帖最后由 哈哈大侠 于 2012-11-25 18:13 编辑

只想问句楼主,去下bom是有多难,把这个放网站目录,然后网址打开这个php,这个目录以及子目录里的文件全部会去掉BOM。
  1. <?php
  2. //remove the utf-8 boms
  3. //by magicbug at gmail dot com

  4. if (isset($_GET['dir'])){ //config the basedir
  5.         $basedir=$_GET['dir'];
  6. }else{
  7.         $basedir = '.';
  8. }

  9. $auto = 1;

  10. checkdir($basedir);

  11. function checkdir($basedir){
  12.         if ($dh = opendir($basedir)) {
  13.                 while (($file = readdir($dh)) !== false) {
  14.                         if ($file != '.' && $file != '..'){
  15.                                 if (!is_dir($basedir."/".$file)) {
  16.                                         echo "filename: $basedir/$file ";
  17.                                         echo checkBOM("$basedir/$file")." <br>";
  18.                                 }else{
  19.                                         $dirname = $basedir."/".$file;
  20.                                         checkdir($dirname);
  21.                                 }
  22.                         }
  23.                 }
  24.         closedir($dh);
  25.         }
  26. }

  27. function checkBOM ($filename) {
  28.         global $auto;
  29.         $contents = file_get_contents($filename);
  30.         $charset[1] = substr($contents, 0, 1);
  31.         $charset[2] = substr($contents, 1, 1);
  32.         $charset[3] = substr($contents, 2, 1);
  33.         if (ord($charset[1]) == 239 && ord($charset[2]) == 187 && ord($charset[3]) == 191) {
  34.                 if ($auto == 1) {
  35.                         $rest = substr($contents, 3);
  36.                         rewrite ($filename, $rest);
  37.                         return ("<font color=red>BOM found, automatically removed.</font>");
  38.                 } else {
  39.                         return ("<font color=red>BOM found.</font>");
  40.                 }
  41.         }
  42.         else return ("BOM Not Found.");
  43. }

  44. function rewrite ($filename, $data) {
  45.         $filenum = fopen($filename, "w");
  46.         flock($filenum, LOCK_EX);
  47.         fwrite($filenum, $data);
  48.         fclose($filenum);
  49. }
  50. ?>
复制代码
3#
发表于 2012-11-25 18:11:39 | 只看该作者
不會。幫頂了。
4#
 楼主| 发表于 2012-11-25 18:12:56 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
5#
发表于 2012-11-25 18:13:57 | 只看该作者
这个可以问月妹 上次他帮我搞定了
6#
发表于 2012-11-25 18:14:17 | 只看该作者
查无此人 发表于 2012-11-25 18:12
要用到bom

求解,配置文件要BOM有什么用
7#
发表于 2012-11-25 19:17:54 | 只看该作者
重新编译一个nginx
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2026-4-13 01:38 , Processed in 0.116013 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表