Notepad adds a BOM, whereas UTF-16LE doesn't. I am bit iffy on the ruby syntax, but something like this:
str = Iconv.conv("utf-16le", "utf-8", "\ufeff" + str)
Or
str = "\xFF\xFE" + Iconv.conv("utf-16le", "utf-8", str)
Or
str = "\377\376" + Iconv.conv("utf-16le", "utf-8", str)
Basically the idea is to add the bytes 0xFF 0xFE
(BOM for Little Endian UTF-16) at the beginning before sending them.