表題の通りに、マジックコメントで
のように指定した ruby のスクリプトを使っている場合
open("hoge.txt", "w") do |file|
file.puts NKF.nkf("-s", "ほげほげ")
end
のように NKF で変換をかけて書き込もうとしても、マジックコメントで指定されたエンコーディングのままで書き込まれてしまうようです。
対処法としては、ファイルのオープン時にエンコーディングを指定します。
open("hoge.txt", "w:Shift_JIS") do |file|
file.puts NKF.nkf("-s", "ほげほげ")
end