当我尝试在P4V中运行工具以获取我最新的更改列表时,它会出现以下错误:
Unicode客户端需要启用unicode的服务器。
该工具的配置如下:
但是,如果我直接从命令行运行相同的命令,它可以正常工作。我运行这个命令:
p4更改-m1 @ mhughson_ce6
我已经仔细检查了我的注册表,并且我不有一个“P4CHARSET”条目。
根据我的理解,P4V存储自己的值,并且不使用注册表。我猜,它有点P4CHARSET设置为P4V中的东西,但我无法弄清楚如何实际更改它。当我查看P4V中的连接信息时,没有关于P4CHARSET的信息。
更新12.02.2013:
我已经运行了一些p4命令来打印我的环境变量,只是为了100%确定没有设置P4CHARSET。结果如下。
p4 set -s
P4CLIENT=mhughson_ce6 (set)
P4EDITOR=C:\Program Files (x86)\Notepad++\notepad++.exe (set)
P4PASSWD=[removed]
P4PORT=[removed]
P4USER=mhughson (set)
-
p4 set
P4CLIENT=mhughson_ce6 (set)
P4EDITOR=C:\Program Files (x86)\Notepad++\notepad++.exe (set)
P4PASSWD=[removed]
P4PORT=[removed]
P4USER=mhughson (set)
-
set
ALLUSERSPROFILE=C:\ProgramData
AMDAPPSDKROOT=C:\Program Files (x86)\AMD APP\
APPDATA=C:\Users\[removed]\AppData\Roaming
CLASSPATH=.;C:\Program Files (x86)\QuickTime\QTSystem\QTJava.zip
CommonProgramFiles=C:\Program Files\Common Files
CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files
CommonProgramW6432=C:\Program Files\Common Files
COMPUTERNAME=[removed]
ComSpec=C:\Windows\system32\cmd.exe
FP_NO_HOST_CHECK=NO
HOMEDRIVE=C:
HOMEPATH=\Users\[removed]
LOCALAPPDATA=C:\Users\[removed]\AppData\Local
LOGONSERVER=\\[removed]
NUMBER_OF_PROCESSORS=8
OS=Windows_NT
Path=C:\Program Files (x86)\AMD APP\bin\x86_64;C:\Program Files (x86)\AMD APP\bi
n\x86;C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Program Fil
es (x86)\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\Post-
Review;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System
32\WindowsPowerShell\v1.0\;C:\Program Files\Perforce;c:\Program Files (x86)\Micr
osoft SQL Server\100\Tools\Binn\;c:\Program Files\Microsoft SQL Server\100\Tools
\Binn\;c:\Program Files\Microsoft SQL Server\100\DTS\Binn\;C:\Program Files (x86
)\QuickTime\QTSystem\;C:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Stati
c;C:\Program Files (x86)\Xoreax\IncrediBuild;C:\Program Files (x86)\Perforce;C:\
Program Files (x86)\Windows Live\Shared
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
PROCESSOR_ARCHITECTURE=AMD64
PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 58 Stepping 9, GenuineIntel
PROCESSOR_LEVEL=6
PROCESSOR_REVISION=3a09
ProgramData=C:\ProgramData
ProgramFiles=C:\Program Files
ProgramFiles(x86)=C:\Program Files (x86)
ProgramW6432=C:\Program Files
PROMPT=$P$G
PSModulePath=C:\Windows\system32\WindowsPowerShell\v1.0\Modules\
PUBLIC=C:\Users\Public
QTJAVA=C:\Program Files (x86)\QuickTime\QTSystem\QTJava.zip
SESSIONNAME=Console
SystemDrive=C:
SystemRoot=C:\Windows
TEMP=C:\Users\[removed]\AppData\Local\Temp
TMP=C:\Users\[removed]\AppData\Local\Temp
USERDOMAIN=[removed]
USERNAME=[removed]
USERPROFILE=C:\Users\[removed]
VS100COMNTOOLS=c:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\Tools
\
windir=C:\Windows
windows_tracing_flags=3
windows_tracing_logfile=C:\BVTBin\Tests\installpackage\csilogfile.log
-
p4 info
User name: mhughson
Client name: mhughson_ce6
Client host: [removed]
Client root: D:/ce6
Current directory: c:\Users\[removed]
Client address: [removed]
Server address: [removed]
Server root: /metadata_journal
Server date: 2013/02/12 18:30:48 +0100 CET
Server uptime: 798:35:46
Server version: P4D/FREEBSD70X86_64/2011.1/370818 (2011/10/19)
Proxy address: [removed]
Proxy version: P4P/NTX64/2012.2/551823 (2012/11/09)
Server license: [removed]
Server license-ip: [removed]
Case Handling: sensitive
答案 0 :(得分:1)
我在一台机器上遇到了同样的问题,但在另一台机器上却没有,但是使用命令行而不是P4V。我没有设置P4CHARSET。我尝试了这个线程中列出的所有内容以及更多,但对我来说有用的是在我的注册表中搜索P4CHARSET,并且有一个我删除的密钥。现在它可以工作
答案 1 :(得分:0)
P4CHARSET
的任意组合。
解决方案?遗憾的是,要从命令行使用p4
。我可以可靠地设置/取消设置PC环境变量,并通过该机制调用我的第三方工具。
答案 2 :(得分:0)
我遇到了同样的问题并设法解决了问题,方法是从WorkspaceSettings.xml
移除charset,该.p4qt
位于Charset
下的用户目录中,例如在我的系统上,我与.p4qt/0004Clients/WorkspaceSettings.xml: <String varName="Charset">utf8-bom</String>
.p4qt/0007Clients/WorkspaceSettings.xml: <String varName="Charset">utf8-bom</String>
.p4qt/0009Clients/WorkspaceSettings.xml: <String varName="Charset">utf8-bom</String>
定义了多个连接 - 这导致了问题:
WorkspaceSettings.xml
在Charset
中,删除 <PropertyList varName="Connection" IsManaged="TRUE">
<String varName="Charset">utf8-bom</String>
</PropertyList>
设置,保存并重启P4V:
(function () {
'use strict';
var app = angular.module('actorsDetails', [
// Angular modules
'ngResource',
// 3rd Party Modules
'ui.bootstrap',
'ui.router'
]);
app.config(['$stateProvider', '$urlRouterProvider', configRoutes]);
function configRoutes($stateProvider, $urlRouterProvider) {
$stateProvider
.state('main', {
url: '/main',
templateUrl: 'app/home/home.html',
controller: 'HomeCtrl',
controllerAs: 'vm'
})
.state('form', {
url: '/form',
templateUrl: 'app/form/form.html',
controller: 'FormCtrl',
controllerAs: 'vm',
resolve: {
initialData: ['actorApi', function (actorApi) {
return actorApi.getActorsResource();
}]
}
})
.state('resource', {
url: '/resource',
templateUrl: 'app/resource/resource.html',
controller: 'ResourceCtrl',
controllerAs: 'vm',
resolve: {
initialData: ['actorApi', function (actorApi) {
return actorApi.getActorsResource();
}]
}
});
$urlRouterProvider.otherwise('/main');
}
app.run(['$state', function ($state) {
// Include $route to kick start the router.
}]);
})();
不幸的是,我无法在 P4V中找到修改的方法,但删除它意味着P4V不再认为服务器是unicode意识。
答案 3 :(得分:0)
编辑.p4qt / WorkspaceSettings.xml对我有用。 它默认设置为'winansi',当我尝试连接IDEA的插件时会导致错误。