在windows上使用ftp上传文件到Linux上,中文名称在Linux系统中显示为乱码。虽然将Linux的env设置了LANG=en_US.UTF-8,并且本地的Shell客户端编码也设置成UTF-8,但在Shell中(或通过http访问),仍是乱码……
原因在于,Windows 的文件名中文编码默认为GBK,压缩或者上传后,文件名还会是GBK编码,而Linux中默认文件名编码为UTF8,由于编码不一致所以导致了文件名乱码的问题,解决这个问题需要对文件名进行转码。
更换服务器编码
export LANG="zh_CN.GBK"
安装执行服务器压缩软件给文件夹转码
yum install convmv convmv -f gbk -t utf-8 -r --notest /home/wwwroot
命令解压
unzip -O CP936 xxx.zip
常用参数:
-r 递归处理子文件夹
–notest 真正进行操作,默认情况下是不对文件进行真实操作
–list 显示所有支持的编码
–unescap 可以做一下转义,比如把%20变成空格
-i 交互模式(询问每一个转换,防止误操作)
linux下有许多方便的小工具来转换编码:
文本内容转换 iconv
文件名转换 convmv
mp3标签转换 python-mutagen
解压指定编码,并且到指定文件夹
unzip -O CP936 /niux/www/v7/chinazidian/uploads/article/zidian/js.zip -d /niux/www/v7/chinazidian/uploads/article/zidian/

站心网
在windows上使用ftp上传文件到Linux上,中文名称在Linux系统中显示为乱码。虽然将Linux的env设置了LANG=en_..
为您推荐
卸载阿里云、腾讯云服务器监控系统教程
服务器
2025年03月24日
所周知,阿里云、腾讯云的服务器都自带监控(AliYunDun/阿里云盾/安骑士),大家都不想自己的所作所为都被监控着,比如我在上面安装XX服务,一旦云监控查到,会被警告,很麻烦,我们总想着自己买的东西能够完全自己..
服务器安装数据库MySQL8.0版本,打包导入到MySQL5.6失败的结局方式
数据库
2025年03月23日
最近数据库升级为mysql8.0,在使用过程中发现一些问题,首先mysql8.0有很多新特性,对服务器配置要求较高,所有就考虑把数据库版本切换到MySQL5.6,经过多出测试处理发现在8.0数据库打包的数据导入到5.6总是报错,或..
.NET 主程序的.dll.config文件有什么用?
程序笔记
2025年01月21日
.dll.config 文件通常是在开发过程中自动生成的,它的主要作用是为某个类库(.dll 文件)提供一个独立的配置文件,以便开发者可以为该类库单独定义或测试配置项。以下是生成 .dll.config 文件的原因和机制:1. 配置..
.NET C#连接FTP实现文件上传下载
程序笔记
2025年01月07日
在 .NET 中可以使用 System.Net.FtpWebRequest 类来连接 FTP 服务器,实现文件上传和下载。以下是实现文件上传和下载的完整代码示例。1. 上传文件到 FTP 服务器using System;using System.IO;using System.Net;class..
.net 通过 HttpClient 下载文件同时报告进度的方法
程序笔记
2025年01月02日
通过 HttpClient 的 ContentLength 很多时候都可以拿到下载的内容的长度,通过 ReadAsync 可以返回当前读到的长度,将读取到的长度加起来就是已经下载的长度看起来很简单,于是直接给代码private static async Task ..
ASP.NET如何将Views文件夹从项目分离
程序笔记
2024年12月19日
将 Views 文件夹从 ASP.NET 项目中分离是一个常见需求,比如为了实现模块化或分层架构。以下是实现此功能的完整步骤,从项目中分离 Views 文件夹,将其移到另一个独立的文件夹或项目中,并确保视图渲染仍然正常。1. ..
.NET C# 读取编辑.AVIF图片文件
程序笔记
2024年12月15日
在 .NET 中读取和编辑 .AVIF 图片文件需要特定的库支持,因为 System.Drawing 等内置功能不直接支持 AVIF 格式。目前可以通过以下方式在 .NET 中实现对 AVIF 文件的读取和编辑:方法一:使用 ImageMagick 的 .NET 封..
EntityFrame(EF) SQLite常见问题和解决方案
程序笔记
2024年12月14日
在使用 Entity Framework (EF) SQLite 时可能遇到的一些问题,下面是一些常见的问题和对应的解决方案。1. 无法找到适配器或数据库提供程序运行 EF 时提示类似以下错误:No database provider has been configured fo..
.NET C# SkiaSharp读取.AVIF图片文件报错
程序笔记
2024年12月14日
SkiaSharp 目前对 .AVIF 格式的支持可能依赖于具体的版本和底层库的配置。如果在使用 SkiaSharp 时尝试读取 .AVIF 文件报错,以下是一些可能的原因和解决方案:1. 检查 SkiaSharp 的版本SkiaSharp 的支持功能取决于..
.NET开源ORM FreeSql常见问题和解决方法
程序笔记
2024年12月13日
FreeSql 是一个功能强大的 .NET 开源 ORM(对象关系映射)工具,支持多种数据库类型并提供丰富的功能特性。以下是使用 FreeSql 过程中常见的问题及其解决方法:1. 数据库连接问题问题描述:无法连接数据库,报错提示..
无法加载文件或程序集 'XXXXX' 或其依赖项。访问被拒绝
程序笔记
2024年12月09日
遇到 “无法加载文件或程序集 'XXXXX' 或其依赖项。访问被拒绝” 错误时,通常是由于权限问题或文件夹、程序集引用配置不当所引起。下面是一些常见的原因及解决方法:1. 文件或程序集权限问题如果服务器或..
SQL Server用UUID做主键性能问题和解决方案
程序笔记
2024年11月12日
在 SQL Server 中使用 UUID(全称:Universally Unique Identifier) 作为主键确实可能带来一些性能问题,特别是在大型数据库和高写入负载的场景下。以下是一些关键的性能挑战及其原因:1. 无序插入导致索引碎片化UU..

文件上传JavaScript库FilePond使用教程
程序笔记
2024年10月23日
传统的文件上传控件往往显得笨拙且不够用户友好。FilePond的出现,为Web文件上传带来了革命性的改变。本文将详细介绍FilePond这一JavaScript库,探讨它如何优化文件上传流程,并提供无与伦比的用户体验。什么是FileP..

DockerUI 中文可视化Docker管理工具使用示例
程序笔记
2024年10月22日
DockerUI 是由国内开发者打造的一款优秀的 Docker 可视化管理工具。该工具拥有简洁直观的UI界面,可以轻松进行Docker主机管理、集群管理,以及Docker任务的编排等操作。DockerUI不仅展示了资源利用率、系统信息和更..

Blazor的N种渲染模式原理和常见问题说明
程序笔记
2024年10月22日
我们从下面这幅图开始,下图显示了三种渲染模式,分别称之为静态SSR、交互式SSR(即之前的BlazorServer)、交互式CSR(即之前的BlazorWasm)。还有一种渲染模式BlazorHybrid,稍后说。一、先浅层理解一个图例静态SSR:经..

CLS 问题:超过 0.1(桌面设备) 是什么意思?
程序笔记
2024年10月22日
在网页设计和开发中,CLS(Cumulative Layout Shift)是指页面布局的累计偏移量。当一个用户与页面互动时,如果页面的某些元素突然改变位置或大小,导致整个布局发生偏移,就会产生布局偏移。这种偏移可能会影响用户..
Web应用安全之八种安全的文件上传方式
程序笔记
2024年10月20日
为了让最终用户将文件上传到您的网站,就像是给危及您的服务器的恶意用户打开了另一扇门。即便如此,在今天的现代互联网的Web应用程序,它是一种常见的要求,因为它有助于提高您的业务效率。在Facebook和Twitter等..
WebClient上传文件方法UploadFile
程序笔记
2024年10月18日
测试环境 服务器端:Windows Server 2003,IIS6.0. 上传文件的代码: [csharp] view plaincopy在CODE上查看代码片派生到我的代码片 using (WebClient client = new WebClient() { Credentials = CredentialCache.De..

公司项目H5调用接口遇到Response for preflight has invalid HTTP status code 405这样的错误,是使用PUT方式提交请求接口。Content-Type设置为application/json,JS代码如下:$.ajax({type:"PUT",url:"http://172.1..
_ViewStart.cshtml文件的作用
程序笔记
2024年10月17日
在ASP.NET MVC 3.0中,新建项目后,Views目录下会出现一个这样的文件:_ViewStart.cshtml(对应Razor,C#,也可能是_ViewStart.vbhtml) 。 _ViewStart.cshtml这个文件会在所有View(.cshtml)被执行之前执行,主要..