2018.09.13
 

ユーザープロフィールの一覧を取得しましたが、テキストが文字化けして読めません。

Question

DSPUSRPRFをOUTPUT(*OUTFILE)にしてデータ転送でCSVにすると、テキストが文字化けをして 読めません。

RUNQRYで確認すると化けていないです。何か対応方法はありますでしょうか?

Answer

DSPUSRPRFをOUTFILEすると、様式:QSYDSUPBのファイルが作成され、テキストはUPTEXTのフィールドになります。

該当のフィールドタイプはAの50桁となっております。

文字化けする原因は、タイプがAにも関わらず、DBCSの漢字がデータに入っていることです。 理由は不明ですが、他のVersionでも同様なので、それがデザインなのかも知れません。

フィールドのタイプをOと直すことができれば、文字化けせずにデータ転送もそのまま使用し、ダウンロードすることができます。その場合、同様のフィールドで唯一、UPTEXTだけタイプOとして別に物理ファイルを作成し、CPYFでFMTOPT(*MAP *DROP)とすると文字化けしない物理ファイルができますので、ダウンロードをしてみてください。

或いは、ユーザープロフィールのプロファイル名とそのテキストだけ使用したいのであれば、DSPOBJDで取得が可能です

例)
DSPOBJD OBJ(QSYS/*ALL) OBJTYPE(*USRPRF) OUTPUT(*OUTFILE) OUTFILE(library名/file名)
2つのファイルをQUERYで結合させてもう一つのOUTFILEを作成し、それをデータ転送でダウンロードするのも一つの手法となります。

ページトップ

ボタン