我在使用 sftp 上传文本文件时遇到了一些问题。问题是,我的 (windows) 客户端上的文件是 utf-8 编码的,但上传后它们似乎是 us-ascii 编码的(至少文件-bi这么说吧)。
文件尚未转换,我认为只有关于编码的元数据是错误的。有什么方法可以更改该信息吗?(最好一次更改多个文件/目录)
我尝试使用 FileZilla 和 WinScp 上传,并使用不同的配置(强制启用 utf-8、自动等),但无法避免这个问题。
答案1
文本文件通常没有任何元数据。你只需要自己知道里面有什么。实际上,在 Ubuntu 上,默认的“语言环境”(即解释文本文件的默认方式)也是 utf-8,所以如果它对你不起作用,那么就是特定程序不支持它,而不是操作系统。
请注意,us-ascii 是 utf-8 的一个子集,因此,区分它们的唯一方法是扫描整个文件以查找多字节字符,而您可能没有任何字符(除非您用中文或阿拉伯语等书写)。