windowsでの文字コードでハマった
Date:2013-12-04 20:55:05 +0900
Categories: TECHNOLOGY
Categories: TECHNOLOGY
Rubyのコードでハマりまして、とてもハマりました。
・WINDOWS 7
・Ruby 2.0
・やりたいこと
特定のフォルダに入っている特定のファイル(複数)を片っ端から印刷する(一番左のシートだけ)
こんなコードを書いてました
まず抽出するところを見てみたくて色々していました。
# coding: Windows-31J require 'find' require 'pp' file =[] Find.find('.') do |f| next unless f.match(/テンプレート/s) puts f.encoding file こんな感じで日本語を抽出しようとしていたんですが、見事に文字化けしまくりました。 そもそも、.matchが文字コードがずれてるとかマルチバイト文字だとかでエラー吐いて終わります。 悲しみ。 それで先輩にご教授いただき一行追加して解決しました。 # coding: Windows-31J require 'find' require 'pp' Encoding.default_external = 'Windows-31J' file =[] Find.find('.') do |f| next unless f.match(/テンプレート/s) puts f.encoding file これで無事いった!かと思ったら、まさかのsublime textで編集しているファイルがutf-8でエラーが出て そちらもsjisにして解決いたしました。 windowsの日本語本当わかってないで取り組むと悲しみが深まってゆきます。Tweet