クライアントをUnicode用に構成する
サーバをUnicodeモードで稼働するように設定するとき、クライアントにより現在の環境が検証され、使用する文字セットが特定されます。通常であれば、適切な翻訳を取得するために追加の操作は必要ありません。例えば、UNIXのクライアントは変数LANG
またはLOCALE
を検証し、適切な文字セットが特定されます。ただし、以下のような場合にはクライアントにより選択された文字セットをオーバーライドする必要があります。
-
自動的に選択された設定によって、翻訳の質が低下している。
詳細については、「Unicode環境におけるユーザワークステーションのトラブルシューティング」を参照してください。
- 別々の(クライアント)ワークスペースを使用して、各々に別々の文字セットを使用する必要がある。この場合、各クライアントに別々の
P4CHARSET
の値を設定する必要があります。 -
チェックアウトしたファイルが、バイトオーダーが問題になるアプリケーションによってアクセスされる。
その他の情報については、「Unicode文字セットとバイトオーダーマーク(BOM)」を参照してください。
-
P4CHARSET
をutf16
またはutf32
に設定する必要がある。詳細については、「サーバ出力の翻訳を制御する」を参照してください。
-
Unicode環境の扱い方が異なるHelixサーバクライアントアプリケーションでファイルがチェックアウトされる。
詳細については、「その他のHelixサーバクライアントアプリケーションを使用する」を参照してください。
上記のいずれの場合も、明示的にP4CHARSET
を適切な値に設定するか、その他の操作を行うことが必要です。P4CHARSET
の有効な値を取得するには、次のコマンドを使用します。
$ p4 help P4CHARSET
ファイルの同期に使用したP4CHARSET
以外でファイルをサブミットしないでください。ファイルが誤って翻訳される可能性があります。つまり、ファイルをチェックアウトしている間はP4CHARSET
の値を変更してはいけません。
Unicode文字セットとバイトオーダーマーク(BOM)
バイトオーダーマーク(BOM)はUnicodeファイルで使用され、これによりマルチバイト文字の格納順序が指定され、ファイルの内容がUnicodeであることが識別されます。すべての拡張文字のファイル形式においてBOMが使用されるわけではありません。
ファイルの同期やサブミットの際にそのようなファイルがHelixサーバによって正しく変換されるように、P4CHARSET
をテキストエディタやIDEなどそれらにアクセスするアプリケーションによってワークステーションで使用される形式に対応した文字セットに設定しなければなりません。通常これらの形式は、[ ]メニューオプションを使用してファイルを保存する際に一覧表示されます。
以下の表に、Unicodeファイルのバイトオーダー特性を指定するためのP4CHARSET
の有効な設定値を示します。
クライアントのUnicodeフォーマット | BOMの有無 | ビッグエンディアンかリトルエンディアンか | P4CHARSETの設定 | 備考 |
---|---|---|---|---|
UTF-8 |
なし |
(対象外) |
|
HelixサーバのUTF-8検証を抑止 |
使用可 |
|
|||
なし |
|
|||
使用可 |
|
|||
UTF-16 |
使用可 |
クライアント単位 |
|
クライアントプラットフォームのバイトオーダーに従ってBOMと同期 |
使用可 |
リトル |
|
WindowsのUnicodeファイルに最適な選択肢 |
|
使用可 |
ビッグ |
|
||
なし |
クライアント単位 |
|
||
なし |
リトル |
|
||
任意 |
ビッグ |
|
||
UTF-32 |
使用可 |
クライアント単位 |
|
クライアントプラットフォームのバイトオーダーに従ってBOMと同期 |
使用可 |
リトル |
|
||
使用可 |
ビッグ |
|
||
任意 |
クライアント単位 |
|
||
任意 |
リトル |
|
||
任意 |
ビッグ |
|
P4CHARSET
をUTF-8の設定値に設定すると、Helixサーバはテキストファイルの同期またはサブミットの際にそれらを変換しません。Helixサーバはそのようなファイルに有効なUTF-8データが含まれているかを検証します。
サーバ出力の翻訳を制御する
P4CHARSET
をutf16
または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はプリファレンスで設定されたものではなく、P4Vの
P4CHARSET
を使用します。
メニューオプションを選択します。 - IDE SCCプラグイン: Unicodeモードのサーバに初めて接続する際に、文字エンコードの選択が要求されます。それ以降は、プラグインは接続に関連するユーザの選択を保持します。
- P4GT とP4EXP、Helix Plugin for File Explorerは環境設定を使用します。Unicodeモードのサーバで使用すると失敗します。