1

When I attempt to run a tool in P4V to get me my latest changelist, it gives the following error:

Unicode clients require a unicode enabled server.

The tool is configured like so:

Last Sync Tool

However, if I run the same command directly from the command line it works fine. I run this command:

p4 changes -m1 @mhughson_ce6

I have double checked my registry, and I do not have an entry for "P4CHARSET".

From what I understand, P4V stores its own values, and does not use the registry. I am guessing, it somehow has P4CHARSET set to something in P4V, but I cannot figure out how to actually change it. When I look at the connection info in P4V there is no information on P4CHARSET.


Update 12.02.2013:

I've run some p4 commands to print out my environment variables just to be 100% certain that P4CHARSET is not being set. Here are the results.

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
Goose
  • 1,307
  • 2
  • 14
  • 28
  • 1
    That error message means that you have P4CHARSET defined but your server is not a Unicode server. Try specifying the 'start in' directory to make sure that you're not picking up a random environment or config variable from another workspace. – randy-wandisco Feb 10 '13 at 21:14
  • 1
    @p4-randall: Setting the "start in" field did not seem to affect the tool (it still gives the same error). I have updated my question to include print outs of all p4 and os environment variables. According to this, P4CHARSET is not set. – Goose Feb 12 '13 at 17:51
  • 1
    Did you ever resolve this? – ashes999 Jan 13 '14 at 23:01
  • 1
    @ashes999 I can't remember exactly. I believe it might have been fixed p4 server side. Sorry I can't be more help. – Goose Jan 14 '14 at 00:06

4 Answers4

1

I was having this same issue on one machine but not the other, but with the command-line not P4V. I did not have P4CHARSET set. I tried everything listed in this thread and more, but what worked for me was to search my registry for P4CHARSET, and there was a key that i deleted. Now it works

Dan
  • 11
  • 1
0

Sadly, I could not solve this for myself; not through any combination of setting/unsetting P4CHARSET.

The solution? Regrettably, to use p4 from the command-line. I can reliably set/unset PC environment variables, and call my third-party tools through that mechanism.

ashes999
  • 9,925
  • 16
  • 73
  • 124
0

Editing .p4qt/WorkspaceSettings.xml worked for me. It was set to 'winansi' by default which was causing error when i try to connect plugin from IDEA.

Naveen
  • 1
-1

I had the same problem and managed to solve it by removing the the charset from the WorkspaceSettings.xml, which is in your user directory under .p4qt, e.g. on my system I had multiple connections with Charset defined - which was causing the problem:

.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>

In the WorkspaceSettings.xml, delete the Charset setting, save and restart P4V:

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

Unfortunately, I couldn't find a way of modifying this within P4V, but removing it meant P4V no longer assumed the server was unicode aware.