• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:rubyでハングル含むファイル名を読むと文字化け)

Rubyでハングル文字化けを直す方法とファイル名のリネーム方法

このQ&Aのポイント
  • 質問者は、Rubyでハングル文字を含むファイル名を読み込むと文字化けし、リネームもエラーが発生している。
  • 質問者は、ハングル文字の文字化けを直す方法と、ファイル名を正常にリネームする方法を知りたいとしている。
  • ファイル名が英数や漢字・かなを含む場合や、.rb内でファイル名に直接ハングル文字を指定すると正常にリネームできていることを補足している。

質問者が選んだベストアンサー

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.1

コマンドプロンプトで、chcp 65001 と入力してUTF-8モードに切り替えてから実行してみてください。 日本語シフトJISに戻すのは、chcp 932 です。

kawata0723
質問者

お礼

chcp 65001は大変勉強になりました。 ハングル文字の文字化けについては、まだ解決していませんが、 リネーム処理については、 1.Dir.openをDir.foreachに変更して 2.エンコード指定する と、リネームは正常になりました。 変更前 #Dir.open("#{tr_path}") do |dir| # for tr_name in dir 変更後 # foreachに変更し、エンコード指定すると、リネームは正常になった Dir.foreach("#{tr_path}", encoding:"utf-8") do |tr_name| next if tr_name == '.' or tr_name == '..' 未解決ですが、運営から催促されたので、締め切りとします。

kawata0723
質問者

補足

ご回答ありがうございます >chcp 65001 やってみましたが、 ・ハングルとrenameのリネーム前後が文字化け ・rename自体もエラー になってしまいました。 Active code page: 65001 D:\rumix>ruby ren4.rb . .. 999-BJ??-hkqwer-20211115.mp4 ren4.rb:62:in `rename': Invalid argument @ rb_file_s_rename - (C:Users/xxxxxx/ Desktop/笘・orean/999-BJ??-hkqwer-20211115.mp4, C:Users/xxxxxx/Desktop/笘ム»orean/笘・orean 259-BJ??-hkqwer-20211115.mp4) (Errno::EINVAL)

関連するQ&A