Perforce unicode问题:使用非ascii字符的同步文件会导致截断

问题描述 投票:1回答:1

我正在使用P4/NTX64/2016.2/1487173 (2017/02/14)Windows 7 64bit (Code Page is 936)。我的服务器工作在uniocde模式,charset服务器使用的是utf8-no-bom

当我在CMD中执行下面的命令而不是文件//Depot/副本.txt时,p4同步了我的软件仓库中的所有文件。

p4 sync -f "//Depot/副本.txt"

我试图添加-C utf8-C auto-Q utf8,但p4似乎截断//Depot/副本.txt导致完整的仓库同步,​​如下所示:

p4 sync -f

只添加-C cp936可以解决这个问题(实际上,this option只控制unicode类型文件转换的行为):

p4 -C cp936 sync -f "//Depot/副本.txt"

但是,在转换unicode类型文件时,此解决方法失败。

我知道Windows CMD需要cp936 encoded characters。这是perforce命令行工具的某种错误吗?

unicode cmd perforce
1个回答
2
投票

尝试将P4COMMANDCHARSET设置为cp936 - 这将告诉CLI使用该charset来翻译参数,但不能用于翻译文件内容。

e.f.:

p4 -Q cp936 sync -f "//Depot/副本.txt"

要么:

p4 set P4COMMANDCHARSET=cp936
p4 sync -f "//Depot/副本.txt"

https://www.perforce.com/perforce/doc.current/manuals/cmdref/Content/CmdRef/P4COMMANDCHARSET.html

© www.soinside.com 2019 - 2024. All rights reserved.