记录一次windows下面 ningx 访问路径为中文的排查
老婆想看小美满,刚好会员过期了,网上找到了资源。下载到小主机J1900 低功耗。
一切都很顺利,再公司远程下载下载好视频。怎么共享到老婆手机上。首先想到的是win的文件共享服务。但是手机上得装软件,pass掉。
那么久搭建一个web服务,有浏览器就能看。ok
开干,这个服务不需要复杂的东西越简单越好。
选择 小皮面板(开发者是老乡) https://www.xp.cn/
安装好了 界面很清爽。开启服务。
![](https://img.haomeiwen.com/i9634724/b50bf28c1642ef7e.png)
将下载好的电影放到web目录里面。
![](https://img.haomeiwen.com/i9634724/c9d25438bc4843ee.png)
为了方便 浏览目录内容 开启目录索引
![](https://img.haomeiwen.com/i9634724/77888308f127727a.png)
浏览一下效果,
![](https://img.haomeiwen.com/i9634724/2532205d21e36cc1.png)
嗯 香。。。。
再点开
![](https://img.haomeiwen.com/i9634724/88db76733c7f1aae.png)
![](https://img.haomeiwen.com/i9634724/a6df870f3cf96510.png)
冷静分析 ,遇到事情不要慌 先百度百度
答案 ningx 内部为 utf-8 而win 则是 GBK
验证一下。。
观察 上诉 URL 中 %D6%C2%CE%D2%C3%C7%CC%F0%CC%F0%B5%C4%D0%A1%C3%C0%C2%FA%B5%DA22%BC%AF.mp4
的编码为 GBK 的 “致我们甜甜的小美满第22集.mp4” 可以到 http://www.mytju.com/classcode/tools/urldecode_gb2312.asp 这里验证
![](https://img.haomeiwen.com/i9634724/f5a7f0199f2e05a2.png)
![](https://img.haomeiwen.com/i9634724/67712856e7dd2f8c.png)
那么解决的思路有了 统一编码
方法一: 先到win下面设置 UFT8 这是网上的教程
![](https://img.haomeiwen.com/i9634724/c568211270bf901e.png)
嗯嗯嗯 what 我的设置怎么不见了 仔细一看上面是 BATE 版 不是所有版本都能设置,说明这个功能不稳定 放弃。。。
![](https://img.haomeiwen.com/i9634724/edae8db78125a762.png)
嗯嗯嗯 what 我的设置怎么不见了 仔细一看上面是 BATE 版 不是所有版本都能设置,说明这个功能不稳定 放弃。。。
方法二 : ningx 配置文件设置编码 为GBK
在 ningx的 server 节点下 配置
charset gbk;
再试 失败 还是 500 !!!! 为啥失败 我想这里设置的字符集 是 默认ningx 输出的字符集 和内部字符集无关 。
方案3 :写一个 PHP 将所有文件读出来模拟 目录索引
![](https://img.haomeiwen.com/i9634724/7cd5978f05c734a0.png)
```
<?php
// 获取当前文件的上级目录
$con = dirname(__FILE__);
// 扫描$con目录下的所有文件
$filename = scandir($con);
// 定义一个数组接收文件名
$conname = array();
foreach($filename as $k=>$v){
// 跳过两个特殊目录 continue跳出循环
if($v=="." || $v==".."){continue;}
//截取文件名,我只需要文件名不需要后缀;然后存入数组。如果你是需要后缀直接$v即可
$file = substr($v,0,strpos($v,"."));
$conname[] = $file;
if($v=='index.php'){continue;}
echo "--> <a href='{$v}'>{$v}</a><br/><br/>";
}
?>
```
![](https://img.haomeiwen.com/i9634724/6d3ff5ae4e0f464b.png)
嗯嗯嗯 香 。
可以美美的观看电影了。。。