トップページ > プログラム > 2016年01月06日 > UtgyJeyz

書き込み順位&時間帯一覧

27 位/226 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000001000000000001103



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
Ruby 初心者スレッド Part 57©2ch.net [転載禁止]©2ch.net

書き込みレス一覧

Ruby 初心者スレッド Part 57©2ch.net [転載禁止]©2ch.net
855 :デフォルトの名無しさん[sage]:2016/01/06(水) 09:28:16.26 ID:UtgyJeyz
WindowsでUnicodeでしか表記出来ない引数を受け取るにはどうしたらいいですか?
普通にARGVで読み出すとSJISに変換されて破壊されてしまいます
Ruby 初心者スレッド Part 57©2ch.net [転載禁止]©2ch.net
858 :デフォルトの名無しさん[sage]:2016/01/06(水) 21:02:27.11 ID:UtgyJeyz
>>857
thx
それでもダメっぽいです。強制的に?へ変換されてしまいます
Ruby 初心者スレッド Part 57©2ch.net [転載禁止]©2ch.net
859 :デフォルトの名無しさん[sage]:2016/01/06(水) 22:03:21.69 ID:UtgyJeyz
>>857をヒントにこんな感じになった
#!/usr/bin/ruby -E utf-8
# encoding: utf-8
require 'win32ole'
cl=nil
l=WIN32OLE.new("WbemScripting.SWbemLocator")
s=l.ConnectServer(nil, "root\\CIMV2")
c=s.ExecQuery("Select * From Win32_Process Where ProcessId=#{Process.pid}")
c.each{|i|
cl=i.CommandLine[/#{$0}\s(.+)$/, 1]
}
p cl
これでUnicodeな文字が入っていてもUTF-8で受け取れました。ARGVは-Ku(-Eも)を付けても
SJISに変換されてしまう模様。このコードでも-Kuや-E utf8を付けないと?に変換されちゃってダメです
無意味にeach呼び出しているのは避けたかったけどItem(0)と書いても例外吐いちゃうし
他の方法が見つからなかったです


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。