Обновление : найдено более элегантное решение
Я нашел решение, которое работает с использованием id3lib-ruby gem.
tag = ID3Lib::Tag.new('talk.mp3')
utf16 = Iconv.conv('UTF-16BE', 'UTF-8', str) #UTF-16BE doesn't have BOM
tag << {:id => :TIT2, :textenc => 1, :text => utf16}
utf16 = Iconv.conv ('UTF-16', 'UTF-8', str)
utf16_no_bom = utf16 [2 ..- 1] # удаляет тег BOM << {:id =>: TIT2,: textenc => 1,: text => utf16_no_bom}
Комментарии по использованию внутри id3lib.rb (строка 105) немного вводят в заблуждение.Если вы установите: textenc => 1 и включите спецификацию UTF-16 (\ xFF \ xFE), то в конце вашего тега вы получите бессмысленный символ.