ナレッジ
Unicodeモード起動でエラーが発生します
ご質問
Helix CoreサーバをUnicodeモードで起動しようとしたところ、エラーが発生します。
原因と対応方法を教えてください。
p4d -xi -r ./
エラーメッセージ
Table db.change has 4 rows with invalid UTF8. Table db.desc has 4 rows with invalid UTF8. Perforce server error: Database has 2 tables with non-UTF8 text and can't be switched to Unicode mode.
出力されたメッセージは、"チェンジリストにUTF8へ変換できない文字を含むコメントがあるため、Unicodeモードへの変換ができない"ことを表示するメッセージの例となります。
・db.change:チェンジリスト
・db.desc:コメント(change description)
非Unicodeモードで起動していたHelix Coreサーバで、メタデータに無効な文字が登録されていると、Unicodeモードへの変換が行えないため、このようなメッセージが出力されます。
詳細
手順
非Unicodeモードで登録されたチェンジリストのコメントに、日本語(Shift-JIS)が含まれているケースが多く報告されています。
ここではチェンジリストのコメントを確認し、修正する手順を説明します。
1."p4 changes"コマンドを実行し、チェンジリストとコメントを出力します
チェンジリストのコメント一覧表示コマンド
p4 changes -L
2.内容を確認し、日本語が含まれているチェンジリストを探します。
例)チェンジリスト69が該当
3.該当するチェンジリストが見つかりましたら、"p4 change"コマンドでチェンジリストを編集し、日本語の文字を削除します。
以下のいずれかの方法で編集できます
①修正コマンド:スーパーユーザ・管理者権限
p4 change -f 69
②修正コマンド:チェンジリスト所有者または管理者権限
p4 change -u 69 ※Jobs・Description・Typeのみ対応
【編集前】
【編集後】※ 修正し、上書き保存します
手順1〜3を日本語コメントがなくなるまで繰り返します。
その後、再度unicodeモードでの起動をお試しください。