我已将整个分支与.NET和SQL源转换为带BOM的UTF-8 ,并在同一操作中将其Perforce文件类型更改为 Unicode 。 (编码差异可能听起来令人困惑,但在Perforce中, Unicode 文件类型表示UTF-8文件内容。)但后来我发现Perforce默默地从UTF-8文件中消除BOM标记。是否可以将Perforce设置为在 Unicode 文件类型的文件中保留UTF-8 BOM标记?我找不到记录。
Perforce服务器切换到 Unicode 模式,连接编码为 UTF-8 无BOM(但将其更改为带BOM的UTF-8 没有任何区别)。
示例:
答案 0 :(得分:4)
好的,Hans Passant的评论鼓励我重新检查P4CHARSET,最后,答案分为两部分:
对于Perforce命令行访问,P4CHARSET
变量的设置可控制行为。要启用将BOM添加到 Unicode 类型的文件,请使用命令
p4 set P4CHARSET=utf8-bom
为了使这些文件没有 BOM,请使用
p4 set P4CHARSET=utf8
对于P4V Perforce Visual Client ,可以通过菜单Connection
>更改设置。 Choose Character Encoding...
。使用值Unicode (UTF-8)
启用添加BOM和Unicode (UTF-8, no BOM)
来抑制它。
Choose Character Encoding...
,请确保以下内容(然后再次检查)
备注:强>