Поиск:

Ответ в темуСоздание новой темы Создание опроса
> iconv и украинский текст 
:(
    Опции темы
migaro
  Дата 11.6.2014, 12:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 36
Регистрация: 4.2.2010

Репутация: нет
Всего: нет



Вот у меня такая ситуация: 
Есть файл в windows-1251 с украинским текстом Мне его надо открыть, перекодировать в utf-8 и записать в файл.
Для перекодирования я решил использовать iconv
Вот мой код:

Код

#encoding: UTF-8
require 'iconv'

file = File.open "data.txt", "r:windows-1251"
data = File.read file
file.close

data = Iconv.conv('windows-1251', 'utf-8', data)

file = File.open "data.txt_", "w:utf-8"
file.puts data
file.close


При отработке пишет: 
zett@ruby-server:~/rubycode/read$ ruby read.rb
read.rb:8:in `conv': "\xCA\xEE\xE6\xED\xE0 \xEB\xFE\xE4\xE8\xED\xE0 \xEC\xE0\xBA"... (Iconv::IllegalSequence) from read.rb:8:in `'

Как это можно вылечить?
Может ли влиять на кодировку "внутри" скрипта системная консольная кодировка?

Это сообщение отредактировал(а) migaro - 11.6.2014, 12:57
PM MAIL   Вверх
migaro
  Дата 12.6.2014, 00:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 36
Регистрация: 4.2.2010

Репутация: нет
Всего: нет



Как чаще всего бывает, решил сам. smile Тему можно закрывать.

Оказывается у японцев все немного иначе..
Вот если на пыхе перекодирование выглядит так:
Код

Iconv.conv('FROM', 'TO', text)


То на Ruby:
Код

Iconv.conv('TO', 'FROM', text)


То есть сначала указывается на что кодируем, а потом только с чего.. ))))))

Надеюсь кому-то поможет
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Ruby: Общие вопросы"
source777
  • С чего начать? начинаем
  • Ссылки на полезные ресурсы смотрим тут
  • Обязательно следуйте правилам Vingrad.
  • Пожалуйста, прочитайте рекомендации по работе в форуме и навигации по Vingrad.
  • Для вставки кодов Ruby используйте тег: [code=ruby]код[/code]. Когда в будущем подсветка синтаксиса для Ruby будет реализована, весь исходных код преобразится.
  • Используйтe чекбокс "Транслит" (возле кнопок кодов), если у Вас нет русских шрифтов.
  • Помните, для каждого вопроса должна быть своя тема.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, source777.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Ruby: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1012 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.