gpt4 book ai didi

encoding - 使用 PhpStorm/WinSCP 和 SFTP 的文件名编码错误

转载 作者:行者123 更新时间:2023-12-03 17:40:04 26 4
gpt4 key购买 nike

我的主机已禁用 FTP,所以我被迫使用 SFTP,但自从迁移到 SFTP 后,我遇到了 PhpStorm 的一些奇怪问题。我的文件名中有时会包含德语变音符号,例如 LösungsblattÜbungsblatt并且通常它已正确上传并且主机窗口正确显示了文件。由于我被迫在远程主机上使用 SFTP 旧文件显示为

enter image description here

而新上传的文件在 PhpStorm 中正确显示。但是在 WinSCP 中,旧文件正确显示为 Lösungsblatt-01.pdf等等,但似乎通过 PhpStorm 正确上传的文件已损坏,因为它们显示为

enter image description here

这基本上是相反的。我确实感觉 UTF-8 和 UTF-16 文件名在上传过程中混合在一起,所以我很好奇如何将 IDE 设置为 (1) 正确显示远程树中的文件名和 (2)使用正确的编码正确上传文件(不是内容的编码,而是文件名本身的编码!)

最佳答案

在 SFTP 协议(protocol)中,文件名必须为 UTF-8。虽然实际上这只是从版本 4 开始。旧版本并没有要求特定的编码。所以实现会有所不同。有些使用 UTF-8,但许多(也许大多数)使用系统的默认编码(如默认的 Windows Ansi 编码)。

最新版本的 WinSCP 始终使用 UTF-8,即使对于实现 SFTP 版本 3(或更早版本)的服务器,如 OpenSSH。实际上 OpenSSH 对编码没有看法。它使用底层系统使用的任何编码。由于现在大多数 *nix 系统默认为 UTF-8,因此它可以正常工作。

我的猜测是 PhpStorm 实际上使用 Windows 的默认 Ansi 编码(对于“西方语言”来说,Windows-1252 是什么)。您也可以通过设置 "UTF-8 encoding for filenames" 来强制 WinSCP 使用它。为“关”。尽管您实际上应该强制 PhpStorm 使用 UTF-8。

关于encoding - 使用 PhpStorm/WinSCP 和 SFTP 的文件名编码错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38618478/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com