Helix Coreサーバ管理者ガイド: 基本 (2019.1)

クライアントをUnicode用に構成する

サーバをUnicodeモードで稼働するように設定するとき、クライアントにより現在の環境が検証され、使用する文字セットが特定されます。通常であれば、適切な翻訳を取得するために追加の操作は必要ありません。例えば、UNIXのクライアントは変数LANGまたはLOCALEを検証し、適切な文字セットが特定されます。ただし、以下のような場合にはクライアントにより選択された文字セットをオーバーライドする必要があります。

上記のいずれの場合も、明示的にP4CHARSETを適切な値に設定するか、その他の操作を行うことが必要です。P4CHARSETの有効な値を取得するには、次のコマンドを使用します。

$ p4 help P4CHARSET
警告

ファイルの同期に使用したP4CHARSET以外でファイルをサブミットしないでください。ファイルが誤って翻訳される可能性があります。つまり、ファイルをチェックアウトしている間はP4CHARSETの値を変更してはいけません。

Unicode文字セットとバイトオーダーマーク(BOM)

バイトオーダーマーク(BOM)はUnicodeファイルで使用され、これによりマルチバイト文字の格納順序が指定され、ファイルの内容がUnicodeであることが識別されます。すべての拡張文字のファイル形式においてBOMが使用されるわけではありません。

ファイルの同期やサブミットの際にそのようなファイルがHelixサーバによって正しく変換されるように、P4CHARSETをテキストエディタやIDEなどそれらにアクセスするアプリケーションによってワークステーションで使用される形式に対応した文字セットに設定しなければなりません。通常これらの形式は、[名前を付けて保存...]メニューオプションを使用してファイルを保存する際に一覧表示されます。

以下の表に、Unicodeファイルのバイトオーダー特性を指定するためのP4CHARSETの有効な設定値を示します。

クライアントのUnicodeフォーマット BOMの有無 ビッグエンディアンかリトルエンディアンか P4CHARSETの設定 備考

UTF-8

なし

(対象外)

utf8

HelixサーバのUTF-8検証を抑止

 

使用可

 

utf8-bom

 
 

なし

 

utf8unchecked

 
 

使用可

 

utf8unchecked-bom

 

UTF-16

使用可

クライアント単位

utf16

クライアントプラットフォームのバイトオーダーに従ってBOMと同期

 

使用可

リトル

utf16le

WindowsのUnicodeファイルに最適な選択肢

 

使用可

ビッグ

utf16be

 
 

なし

クライアント単位

utf16-nobom

 
 

なし

リトル

utf16le-nobom

 
 

任意

ビッグ

utf16be-nobom

 

UTF-32

使用可

クライアント単位

utf32

クライアントプラットフォームのバイトオーダーに従ってBOMと同期

 

使用可

リトル

utf32le

 
 

使用可

ビッグ

utf32be

 
 

任意

クライアント単位

utf32-nobom

 
 

任意

リトル

utf32le-nobom

 
 

任意

ビッグ

utf32be-nobom

 

P4CHARSETをUTF-8の設定値に設定すると、Helixサーバはテキストファイルの同期またはサブミットの際にそれらを変換しません。Helixサーバはそのようなファイルに有効なUTF-8データが含まれているかを検証します。

サーバ出力の翻訳を制御する

P4CHARSETutf16またはutf32に設定する場合、P4COMMANDCHARSETを、サーバ出力を表示するutf16またはutf32以外の文字セットに設定する必要があります。「サーバ出力」には、情報やエラーのメッセージ、差分出力、およびレポート作成コマンドにより返される情報が含まれます。

コマンド単位にP4COMMANDCHARSETを指定するには、-Qフラグを使用します。例えば、winansiコードページを使用して翻訳されるようにディポ内のすべてのファイル名を表示するには、次のコマンドを実行します。

C:\> p4 -Q winansi files //...

その他のHelixサーバクライアントアプリケーションを使用する

その他のHelixサーバクライアントアプリケーションを使用している場合、それらがどのようにUnicode環境を扱うかに注意してください。

  • P4V (Helix Visual Client): Unicodeモードのサーバに初めて接続する際に、文字エンコードの選択が要求されます。それ以降は、P4Vは接続に関連するユーザの選択を保持します。またP4VにはCHARSETのグローバルのデフォルト設定が用意されています。これを設定した場合、文字セットを指定するよう要求される代わりにデフォルト設定が使用されます。
  • P4Eclipse は、Unicodeモードのサーバへの接続時に文字セットの指定を要求します。
  • P4Web: P4Webの起動時、コマンドラインで-Cフラグを使用して文字エンコードを指定することができます。P4Webは、Unicodeモードのサーバにコマンドを送る際にこのフラグを使用します。このアプローチは、P4Webのインスタンスが単一の文字エンコードを扱うことができ、ブラウザマシンに互換性のあるフォントがインストールされている必要があることを意味します。
  • P4Merge: P4Mergeにより使用される文字エンコードを構成するには、P4Mergeの[ファイル]>[文字エンコード...]メニューオプションを選択します。P4Vから起動した場合、P4Mergeはプリファレンスで設定されたものではなく、P4VP4CHARSETを使用します。
  • IDE SCCプラグイン: Unicodeモードのサーバに初めて接続する際に、文字エンコードの選択が要求されます。それ以降は、プラグインは接続に関連するユーザの選択を保持します。
  • P4GT P4EXPHelix Plugin for File Explorerは環境設定を使用します。Unicodeモードのサーバで使用すると失敗します。