笔记-Windows NFS → 中文乱码导致文件找不到

news2025/1/23 11:59:56

前提准备

项目中有这么一块业务

1、 脚本同步 这一环,是运维同事通过脚本实现的,所以我没去关注

2、 读取文件并上传 这一环,是我实现的,稳定运行了很长一段时间了,一直没出问题

在这里插入图片描述中文乱码**

直到有一天, 生产环境 出现了异常信息: /data/userData/Rsync 下不存在文件:测试文件.txt

提示很明显,在目录 /data/userData/Rsync 下,没有找到文件 测试文件.txt

然后联系运维,让运维去看 本系统 的目录: /data/userData/Rsync 下,文件 测试文件.txt 是否存在

运维的反馈是文件存在,还发了截图

在这里插入图片描述

然后我将这个文件复制到 测试环境 的 /data/userData/Rsync 目录下, 测试环境 能正常找到文件 测试环境.txt

问题排查

后面与同个运维同事沟通了下,了解了整个完整流程的细节:
在这里插入图片描述

其中 CentOS 7 作为 NFS 服务器 ,其系统编码是 UTF-8
在这里插入图片描述

Win 2012 作为 NFS 客户端 ,其系统编码是 GBK (chcp 值 936 表示 GBK)
在这里插入图片描述

我在怀疑是不是 NFS 的问题?

怎么验证了?

其实最简单的办法就是看一眼 CentOS 7 目录 /data/userData/Rsync 下是不是有中文名乱码文件即可

奈何我认为我说清楚了,运维同事也认为他理解了

结果南辕北辙,我想看的是 CentOS 7 的目录 /data/userData/Rsync ,运维给我看的却是 Win 2012 下的挂载目录 L:

关键是当时我没发现他给我的截图其实不是我想看的!

然后我就开始了我的线上环境模拟之旅
  NFS 服务端

CentOS 7 上搭建 NFS 服务器非常简单

1、安装 NFS ,执行 yum install -y nfs-utils 即可

2、对客户端 IP 进行授权

编辑 /etc/exports ,进行授权配置,例如
在这里插入图片描述

/data/userData/Rsync/ 表示要共享出去的目录,不存在则需要先创建: mkdir -p /data/userData/Rsync

10.5.108.221 表示客户端 IP 地址,说明共享给谁

(rw,sync,no_root_squash) 表示授权列表, rw 表示客户端可以读写, sync 表示自动同步, no_root_squash 是什么含义,你们自己去查

涉及到目录的读写,需要对 /data/userData/Rsync/ 配置合适的读写权限,方便演示就简单点: chmod 777 /data/userData/Rsync/

编辑好之后,使配置生效,执行命令: exportfs -rv

3、启动 NFS : systemctl start nfs-server

开机启动: systemctl enable nfs-server

4、防火墙放行

为了演示方便,直接关闭防火墙: systemctl stop firewalld
  NFS 客户端

WIN 2012 作为客户端,配置起来也很简单

1、安装 NFS 客户端

控制面板 -> 程序 -> 启用或关闭 Windows 功能
在这里插入图片描述在这里插入图片描述

添加角色与功能 ,直接连续下一步,直到 服务器角色

如果在 WIN 2012 上搭建 NFS 服务器,则上面三个框住的需要勾选上,然后进行 安装

我们目前是搭建客户端,这个地方可以不勾,下一步,来到 功能

勾选上 NFS 客户端 ,然后进行安装即可

2、防火墙放行,为了演示方便,直接关闭防火墙

3、目录挂载

直接在 cmd 中执行: mount 10.5.108.225:/data/userData/Rsync L:
在这里插入图片描述

不出意外的话,挂载成功

此时, 我的电脑 会出现一个网络盘
在这里插入图片描述

正常来讲,不会有红叉;不影响效果,先不纠结
  同步

简单点模拟,直接在 win 2012 上,往挂载盘(网络盘)写文件,文件名是: 测试文件.txt

在 win 2012 的挂载目录 L: 看,中文没乱码,简直太正常了!

但是,我们去 CentOS 7 的目录 /data/userData/Rsync/ 看下

哦豁,换了个马甲,还真不认识了!

程序去找 测试文件.txt ,怎么找得到嘛

乱码原因

这个时候基本能断定问题出在 NFS ,直接 google 下关键字: Window 2012 NFS 中文乱码 就能找到答案
在这里插入图片描述

根因就是:windows 内置的 nfs 支持的编码非常有限,不支持 utf-8

问题解决
  去掉中文

既然中文有问题,那就干掉中文

和上游系统协商了下,文件名改成英文,中文乱码自然就不存在了

有小伙伴可能会有疑问:之前没有中文乱码问题?

其实你们心里应该有答案了,没错,就如你们所想:这块业务,之前一直没出现中文名的文件!
  升级 window 系统

win10 可以开启 Beta 版本 ,来支持 UTF-8
在这里插入图片描述

具体可参考:一个小设置,让Win10 NFS正常显示中文UTF-8

注意看评论区,坑很多,不推荐这种方式

至于 Windows 系统的其他版本是否支持该配置,大家结合自己的系统去查阅

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1681442.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Typora + AliyunOSS + PicGo + OneDrive 搭建同步笔记本

文章目录 Typora AliyunOSS PicGo OneDrive 搭建同步笔记本1. 购置阿里云OSS资源2. 配置PicGo3. Typora oneDrive4. 注意 Typora AliyunOSS PicGo OneDrive 搭建同步笔记本 前记: 尝试使用Gitee和Github,效果都十分不理想 Gitee: repository仓库…

什么开放式耳机好用?2024五大爆款机型安利!

​2024年耳机的大热门毫无疑问的是开放式耳机,开放式耳机有着更健康的听音表现和极佳的佩戴舒适度,开放式设计在享受音乐的同时还可以清楚地听到外界的声音,这有助于在户外活动时保持对周围环境的警觉,增加使用时的安全性。作为一…

气膜体育馆的基础设施有哪些—轻空间

随着体育事业的迅速发展和全民健身意识的提升,现代体育场馆设施也在不断更新换代。新型气膜体育馆的出现,解决了传统体育场馆构建审核难、时间长、门槛高的问题,有利于构建多样化的体育场馆,提升人均体育场馆面积。 气膜建筑因其建…

医院内外网文件交互,关键在于安全、效率和便捷

目前,国内医院内外网隔离的网络建设已较为普遍,医院涉及大量患者信息、疾病研究、学术报告等资料,数据具有重要的价值,因此医院的内外网建设成为基本共识。 医院的内外网是相互对应而言的,一般来说,外网指医…

【Python】语句与众所周知【自我维护版】

各位大佬好 ,这里是阿川的博客 , 祝您变得更强 个人主页:在线OJ的阿川 大佬的支持和鼓励,将是我成长路上最大的动力 阿川水平有限,如有错误,欢迎大佬指正 本篇博客是在之前的基础上进行的维护 目录 条…

基于CentOS-7搭建hadoop3.3.6大数据集群(保姆级教程)

目录 安装虚拟机 为hadoop用户添加权限 关闭防火墙 修改主机名以及ip地址映射 配置ip 连接xshell ,以hadoop用户登录 创建目录并将该文件夹权限赋予hadoop用户 安装配置jdk 关闭虚拟机,克隆其他两个节点 修改主机名和ip地址 配置免密登录 安装…

如何在VS Code中安装插件并进行中文化。

相关文章推荐: 如何下载和安装Visual Studio Code(VSCode) 在使用Visual Studio Code(简称VS Code)进行开发时,安装插件可以极大地提升开发效率和使用体验。而将VS Code插件界面进行中文化,则能更好地满足中…

在 Django 中获取已渲染的 HTML 文本

在Django中,你可以通过多种方式获取已渲染的HTML文本。这通常取决于你希望在哪个阶段获取HTML文本。下面就是我在实际操作中遇到的问题,并且通过我日夜奋斗终于找到解决方案。 1、问题背景 在 Django 中,您可能需要将已渲染的 HTML 文本存储…

计算机网络-路由策略与路由控制一

到目前为止我们学习了路由与交换基础,路由协议有静态、RIP、OSPF、IS-IS等,但是根据实际组网需求,往往需要实施一些路由策略对路由信息进行过滤、属性设置等操作,通过对路由的控制,可以影响数据流量转发。 因此我们开始…

【刷题篇】二分查找(二)

文章目录 1、山脉数组的峰顶索引2、寻找峰值3、寻找旋转排序数组中的最小值4、LCR 点名 1、山脉数组的峰顶索引 符合下列属性的数组 arr 称为 山脉数组 &#xff1a; arr.length > 3 存在 i&#xff08;0 < i < arr.length - 1&#xff09;使得&#xff1a; arr[0] &l…

停车场车位引导系统是什么,停车场车位引导系统有哪些作用?

随着城市交通的快速发展&#xff0c;车辆的数量也在迅速增长&#xff0c;随之而来的就是停车难的问题&#xff0c;那么在城市中&#xff0c;如何合理的利用好现有资源&#xff0c;让停车资源得到合理利用呢&#xff1f;这就需要一套科学有效的智能停车场系统&#xff0c;可以帮…

FreeRTOS【6】线程优先级

1.开发背景 基于上一篇指引&#xff0c;已经了解了线程的阻塞&#xff0c;这个篇章主要介绍线程优先级的影响 2.开发需求 设计实验验证高优先级会抢占低优先级线程 CPU 3.开发环境 window10 MDK STM32F429 FreeRTOS10.3.1 4.实现步骤 1&#xff09;创建测试线程&#xff…

语法分析-文法

如果对于一部文法中&#xff0c;存在至少一个句子有两个或者两个以上的语法树则该文法是二义性的。 我们可以以上面的例子进行解释&#xff0c;对于第棵个语法树&#xff0c;我们可以看到是先进行了加法运算再进行的乘法运算&#xff0c;因为需要先把EE作为整体运算完后再成为E…

MLM之GPT-4o:GPT-4o(多模态/高智能/2倍速/视觉改进/128K的大窗口)的简介、安装和使用方法、案例应用之详细攻略

MLM之GPT-4o&#xff1a;GPT-4o(多模态/高智能/2倍速/视觉改进/128K的大窗口)的简介、安装和使用方法、案例应用之详细攻略 导读&#xff1a;2024年5月13日&#xff0c;OpenAI重磅发布新旗舰模型GPT-4o&#xff0c;这是一个全新的旗舰模型&#xff0c;可以实时跨越音频、视觉和…

【错题集-编程题】主持人调度(一)(排序)

牛客对应题目链接&#xff1a;主持人调度&#xff08;一&#xff09;_牛客题霸_牛客网 (nowcoder.com) 一、分析题目 区间问题技巧&#xff1a;左端点排序或者按照右端点排序。 左端点排序后&#xff0c;仅需考虑后续区间是否能与前⼀个区间重叠即可。 二、代码 1、没看题解之…

javaEE进阶——SpringBoot与SpringMVC第一讲

文章目录 什么是springMVCSpringMVC什么是模型、视图、控制器MVC和SpringMVC的关系SpringMVC的使用第一个SpringMVC程序RestController什么是注解 那么RestController到底是干嘛的呢&#xff1f;RequestMapping 如何接收来自请求中的querystryingRequestParamRequestMapping(&q…

使用Xterm实现终端构建

————html篇———— // 需要使用Xterm Xterm的官网&#xff1a; Xterm.js 新建项目 增加基本文件 下载 框架 npm init -y Xterm依赖 npm install xterm/xterm 参考文档写的代码 贴入代码 <html><head><link rel"stylesheet" href"nod…

[Algorithm][回溯][字母大小写全排列][优美的排列][N皇后]详细讲解

目录 1.字母大小写全排列1.题目链接2.算法原理详解3.代码实现 2.优美的排列1.题目链接2.算法原理详解3.代码实现 3.N 皇后1.题目链接2.算法原理详解3.代码实现 1.字母大小写全排列 1.题目链接 字母大小写全排列 2.算法原理详解 本题逻辑与子集大致相同 思路一&#xff1a;每…

Verdaccio私服搭建

前言 Verdaccio是一个轻量级的私有npm注册表&#xff0c;由Node.js创建&#xff0c;并且是sinopia1.4.0的衍生版本&#xff0c;与其100%向后兼容。Verdaccio的名称来源于意大利中世纪晚期fresco绘画中流行的一种绿色。 Verdaccio的主要功能是在本地环境中管理和共享npm软件包。…

基于区块链的Web 3.0关键技术研讨会顺利召开

基于区块链的Web3.0关键技术研讨会 2024年4月23日&#xff0c;由国家区块链技术创新中心主办的“基于区块链的web3.0关键技术研讨会”召开。Web3.0被用来描述一个运行在“区块链”技术之上的“去中心化”的互联网&#xff0c;该网络上的主体掌握自己数据所有权和使用权&#xf…