[#50363] [質問] Ruby socket.send でUDP Packet が出ない? ネットワーク環境によるものか? — <yamataka@...08.itscom.net>

山口と申します。

9 messages 2016/07/27

[ruby-list:50351] MSYS2のRubyで、UTF-8以外で書かれたファイル名が正しく認識されない

From: "H.Hiro" <main@...>
Date: 2016-07-07 16:09:00 UTC
List: ruby-list #50351
H.Hiroです。

Windows環境におけるコマンドラインツールを一新しようと、MSYS2をインストールし、Rubyもそちらでパッケージ管理ツールpacmanを使ってインストールしました。
このMSYS2のRubyを使うと、ASCII範囲外の文字を含むファイル名のファイルを読み込む場合に、ファイル名がUTF-8でないと読み込めませんでした。

#!/usr/bin/env ruby
# -*- coding: Windows-31J -*-
File.readlines('てすと.txt') # ファイル名が正しく認識できない
File.readlines('てすと.txt'.encode('utf-8')) # これなら大丈夫

試したバージョンは ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-msys] です。

ちなみに、MSYS2ではない単なるmingw版(RubyInstallerで配布されているもの。ruby 2.3.0p0
(2015-12-25 revision 53290) [x64-mingw32])では、上記のコードのどちらでも問題なく動きました。
なので、もしかしたらRuby側の問題ではなくMSYS2の仕様の問題なのかもしれません。

詳細はこちらに書きました。
http://qiita.com/h_hiro_/items/47c7792d20c5d8caf7a0

-- 
H.Hiro / Maraigue
http://hhiro.net/about/
main@hhiro.net

In This Thread

Prev Next