Как установить P4CHARSET в клиенте P4V?

Когда я пытаюсь запустить инструмент в P4V, чтобы получить мой последний список изменений, он выдает следующую ошибку:

Для клиентов Unicode требуется сервер с поддержкой Unicode.

Инструмент настроен так:

Инструмент последней синхронизации

Однако, если я запускаю ту же команду непосредственно из командной строки, она работает нормально. Я запускаю эту команду:

смена п4 -m1 @mhughson_ce6

Я дважды проверил свой реестр, и у меня нет записи для "P4CHARSET".

Насколько я понимаю, P4V хранит собственные значения и не использует реестр. Я предполагаю, что P4CHARSET каким-то образом установлен на что-то в P4V, но я не могу понять, как его изменить. Когда я смотрю информацию о подключении в P4V, там нет информации о P4CHARSET.


Обновление от 12 февраля 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

person Goose    schedule 08.02.2013    source источник
comment
Это сообщение об ошибке означает, что вы определили P4CHARSET, но ваш сервер не является сервером Unicode. Попробуйте указать каталог «начать в», чтобы убедиться, что вы не выбираете случайную среду или переменную конфигурации из другого рабочего пространства.   -  person randy-wandisco    schedule 11.02.2013
comment
@ p4-randall: установка начала в поле, похоже, не повлияла на инструмент (он по-прежнему выдает ту же ошибку). Я обновил свой вопрос, включив в него распечатки всех переменных среды p4 и os. Соответственно, P4CHARSET не устанавливается.   -  person Goose    schedule 12.02.2013
comment
Вы когда-нибудь решали это?   -  person ashes999    schedule 14.01.2014
comment
@ashes999 Точно не помню. Я считаю, что это могло быть исправлено на стороне сервера p4. Извините, я не могу больше помочь.   -  person Goose    schedule 14.01.2014


Ответы (4)


У меня была такая же проблема на одной машине, но не на другой, но с командной строкой, а не с P4V. У меня не был установлен P4CHARSET. Я пробовал все, что перечислено в этой теме, и многое другое, но мне помогло выполнить поиск P4CHARSET в моем реестре, и там был ключ, который я удалил. Теперь это работает

person Dan    schedule 02.09.2015

К сожалению, я не мог решить это для себя; не с помощью какой-либо комбинации установки/снятия с охраны P4CHARSET.

Решение? К сожалению, использовать p4 из командной строки. Я могу надежно устанавливать/сбрасывать переменные среды ПК и вызывать свои сторонние инструменты через этот механизм.

person ashes999    schedule 14.01.2014

У меня была такая же проблема, и мне удалось решить ее, удалив кодировку из WorkspaceSettings.xml, которая находится в вашем пользовательском каталоге под .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, сохраните и перезапустите P4V:

 <PropertyList varName="Connection" IsManaged="TRUE">
  <String varName="Charset">utf8-bom</String>
 </PropertyList>

К сожалению, я не смог найти способ изменить это внутри P4V, но его удаление означало, что P4V больше не предполагал, что сервер поддерживает юникод.

person Jamie Penman-Smithson    schedule 30.04.2015

Мне помогло редактирование .p4qt/WorkspaceSettings.xml. По умолчанию он был установлен на «winansi», что вызывало ошибку, когда я пытался подключить плагин из IDEA.

person Naveen    schedule 11.01.2018