没有合适的资源?快使用搜索试试~ 我知道了~
Linux下中文文件名乱码问题的详解 - CSDN博客1
需积分: 0 11 下载量 138 浏览量
2022-08-03
18:55:53
上传
评论
收藏 1.23MB PDF 举报
温馨提示
试读
5页
Linux下中文文件名乱码问题的详解 - CSDN博客原创2016年06月12日 09:59:40标签:压缩 / linux / 乱码Linux下中文文件名乱码
资源详情
资源评论
资源推荐
2018/3/2 Linux下中文文件名乱码问题的详解 - CSDN博客
http://blog.csdn.net/sunscheung/article/details/51644121 1/5
原创 2016年06月12日 09:59:40 标签:压缩 / linux / 乱码
6507
Linux下中文文件名乱码问题的详解
最近做的项目中,涉及Linux下生成中文文件名并压缩打包下载乱码问题,需要将生成的压缩包文件自定义
重命名(包括中文),问题来了,Linux下不支持中文的,所以会导致中文乱码问题,网上找了几天,都没
解决,现在终于给码出来了,希望大家指出缺点。
首先,让linux支持中文,就是在/usr/lib/locale的默认中,添加以下三句,或者注释掉这三句前的#
zh_CN.GBK GBK
zh_CN.GB18030 GB18030
zh_CN.UTF-8 UTF-8
其次,由于下载的文件会把目录整个显示,之前转载别人的文章,
使用了pathinfo函数去获取他的basename,就避免了目录结构被暴露,
原来,文字编码中windows默认是GBK,而Linux默认是UTF-8,
这样就导致输出的是乱码,乱码的文字被自动忽略。
所以我重新写了一个pathinfo函数 path_info() 。
分享自己的code:
等级:
访问量: 6.7
积分: 1042 排名:
4.72万
他的最新文章
pm2常用的命令用法介绍
实战演练:用gulp+webpack构建用
webpack+gulp实现自动构建部署
webpack的常用命令
webpack的常用命令
Html5+CSS3
JavaScript
PHP
开发流程及开发工具
Linux
网络安全
2018年1月
2017年12月
2017年11月
2017年9月
2017年8月
2017年7月
SunsCheung
关注
原创
25
粉丝
10
喜欢
32
文章分类
展开
文章存档
展开
他的热门文章
Sublime Text3 js语法错误提示
博客 学院 下载 GitChat 论坛
写博客
发Chat
if($action == "downreport"){
if(substr($report_ids,-1)==","){
$report_ids = substr($report_ids,0,-1);
}
$report_id = $report_ids;
if($report_id == '0'){
die("{success:false,msg:'error',code:'e8000'}");
}
if(strpos($report_id,',')){
$arrids = explode(',',$report_id);
$newids = array();
foreach($arrids as $id){
$newids []= intval($id);
}
$ids = implodeids($newids);
$reports = array();
$reports_name = array();
$paths = array();
$query = $db->query("select `name`,filename from report_list where id in ($ids)"
);
while($report = $db->fetch_array($query)){
$reports[]= $report['filename'];
$reports_name[]= $report['name'];
}
for($i = 0; $i < count($reports); $i++ ){
$j = 1;
$temp_fileName = $reports_name[$i]."_";
while(file_exists(ESHINE_ROOT."tmp/temp/".$reports_name[$i] .".zip")){
$reports_name[$i] = $temp_fileName.$j;
$j++;
}
//$reports_name[$i] = $temp_fileName;
copy(ESHINE_ROOT."Report/".$reports[$i].".zip",ESHINE_ROOT."tmp/temp/".$repo
rts_name[$i].".zip");
$paths[$i] = ESHINE_ROOT."tmp/temp/".$reports_name[$i].".zip";
}
//重写pathinfo函数,解决中文被置空 2014.11.26
function path_info($filepath)
{
$path_parts = array();
$path_parts ['dirname'] = rtrim(substr($filepath, 0, strrpos($filepath, '/'
)),"/")."/";
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
大智慧经典版
1
萌新小白爱学习
- 粉丝: 14
- 资源: 311
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0