【发布时间】:2016-07-12 05:42:07
【问题描述】:
重现问题的步骤:
如果我在其他设备上执行相同的步骤,文件类型会被检测为“unicode”;
- 从本地删除文件,然后从服务器同步。出现问题:文件变为带有 BOM 的 utf8。
如您所知,html 文件中的 BOM 会导致很多问题....有没有人可以帮我解决这个问题?
环境:
【问题讨论】:
标签: perforce
重现问题的步骤:
如果我在其他设备上执行相同的步骤,文件类型会被检测为“unicode”;
如您所知,html 文件中的 BOM 会导致很多问题....有没有人可以帮我解决这个问题?
环境:
【问题讨论】:
标签: perforce
'utf8' 类型的文件始终与 BOM 同步 - 'utf8' 类型就是这样设计的(请参阅relnotes,#998379)。如果您不想要 BOM,则必须将其更改为“text”或“unicode”。
您描述的是 15.2 中的一个已知错误(job083614):“如果 P4CHARSET=utf8 并且服务器是 unicode 并且文件的字节数 >x80 并且是有效的 utf8”,那么文件被检测为 utf8,应该是 unicode。希望这个修复(没有承诺)在 16.2 中。
早期的 p4 客户端
如果您不想输入“utf8”而是输入“unicode”:
你也可以有一个触发器来阻止 utf8 文件类型被提交(change-submit)
【讨论】:
相信在the Perforce Internationalization Notes中可以找到你想要的答案
在您的问题中,您链接到 2014.2 国际化说明,但 utf8 文件类型比这更新;它是在 2015.2 版本中添加的。很明显,您的服务器是 2015.2 或更高版本。我链接到 2016.1 内部化说明。最好阅读您正在使用的服务器的确切版本的说明。
文件出现在您的工作站上的方式是:
由于您似乎正在使用 P4V 将文件同步到您的工作站,因此您还必须考虑 P4V 代表您应用了哪些设置。您可能会发现使用“p4”命令行工具将某些文件同步到您的工作站会更清楚。然后,您可以尝试不同的文件类型、不同的 P4CHARSET 设置等,直到找到能够为您提供预期结果的组合。
但是,再次提醒您注意您正在使用的客户端和服务器软件的确切版本,并阅读确切适用于这些版本的说明,因为其中一些行为最近发生了变化,这可能会让您感到困惑。
【讨论】: