Perforce unicode问题:使用非ascii字符的同步文件会导致截断
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Perforce unicode问题:使用非ascii字符的同步文件会导致截断相关的知识,希望对你有一定的参考价值。
我正在使用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命令行工具的某种错误吗?
尝试将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
以上是关于Perforce unicode问题:使用非ascii字符的同步文件会导致截断的主要内容,如果未能解决你的问题,请参考以下文章