找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1657|回复: 0
打印 上一主题 下一主题

解决linux系统下获取中文名称的问题

[复制链接]

2536

主题

2536

帖子

7532

积分

论坛元老

Rank: 8Rank: 8

积分
7532
跳转到指定楼层
楼主
发表于 2018-2-18 04:49:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

                      今天遇到一个无法获得中文名称的问题,想到半天在前面取值输出都是正确到,唯独到后面就出问题了.
[color=]header("Content-type: application/octet-stream");
    函数后乱码,取不到中文名字,几乎想尽了所有办法..后来请教了个高人,给解答了.
    解决方法如下:
    引入 iconv() 函数,确保读取文件不是乱码
$fn_old = $_GET['fname'];
$fn = iconv('UTF-8', 'GB2312', $fn_old);
    返回路径中的文件名部分
[color=]$filename = sbasename($fn);
    正则替换文件名中的斜线
function sbasename($filename) {
    return preg_replace('/^.+[\\\\\\/]/', '', $filename);
}
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

用户反馈
客户端