エンコードUTF-8のテキストファイルの読み込み
お世話になっております。
Webからダウンロードした固定長テキストファイルを取り込む際、そのまま取り込むと文字化けしてしまうのでpowershellコマンドでUTF8→ANSIに変換するwindowsバッチファイルを作成してmagicでバッチファイルを実行後にテキスト取り込み処理をしているのですがこの処理をMagicだけで完結させる方法ってありますでしょうか。
よろしくお願い致します。
-
こんにちはPuです。
出力では良く使うのですが取込で使用したことないですが
入出力ファイルの使用する文字セットをutf8にしたら行けそうな気が...
試してないので無責任ですが
でわ~でわ~ -
ご返信ありがとうございます。
UTF8で文字化けせずに取り込めさえすれば関数でANSIに変換できると思うのですがMagicで設定できる文字セットはANSIとOEMしかないので無理そうです。。
120文字の固定長テキストなので取り込んだ後に関数で変換すると文字化けしてる状態なので後ろが桁落ちしてしまいました。しかしPuさんのご返信を元にもう一度考えて桁落ちするなら桁数を増やしてみようと思い240文字に文字化け状態で取り込み、それをANSIに変換してみたら見事120桁の固定長にできました!
一旦文字化けしてしまうってとこが怖い気はしますが、そこは変換後にデータ的に問題ないかチェックする処理を追加しようと思います。
puさんの返信がきっかけになり自己解決できました!ありがとうございました。
-
こんにちはPuです。
選択にANSI,OEM,Unicode,UTF8とあるはずなんですが
でわ~でわ~ -
@puさん
ご教授ありがとうございます。
私が見ていたとこは違うとこの文字セットでした(汗)
入出力特性の使用する文字セットですね!UTF8にすると見事文字化けせずに取り込まれました。こんなとこに設定が隠れてるとは。本当にありがとうございました。
-
こんにちはPuです。
上手くいって良かったですね。
Web系のAPLでマージする時に、この設定でutf8に出来るので重宝してます。
でわ~でわ~ -
ここはマージアプリを作るときに多用しますので便利ですね。昔のMagicはこの設定がなかったので、Shift-JIS(Ansi)以外に手がなかったです。さらに、今は文字コード変換の関数も多く用意されていますので楽になったものです。
サインインしてコメントを残してください。
コメント
6件のコメント