Заменить акцентированные символы, используя gsub - PullRequest
0 голосов
/ 24 апреля 2011

Вот мой код:

text = File.read('/Users/username/Desktop/text.txt')
replace = text.gsub('hai', 'hǎi')
File.open('/Users/username/Desktop/text.txt', "w") {|file| file.puts replace}

Я пытаюсь запустить этот скрипт из моего терминала, но он выдает эту ошибку:

XXXX:Desktop username$ ruby replace.rb
replace.rb:2: invalid multibyte char (US-ASCII)
replace.rb:2: invalid multibyte char (US-ASCII)
replace.rb:2: syntax error, unexpected $end, expecting ')'
replace = text.gsub('hai', 'hǎi')
                               ^

Я действительно хочу заменить множество символовс акцентированными символами в моем файле CSV, который позже будет экспортирован в мою базу данных MySQL.

Ответы [ 2 ]

2 голосов
/ 24 апреля 2011

можно попробовать поставить -Ku

#!/usr/bin/env ruby  -Ku

text = File.read('file')
replace = text.gsub('hai', 'hǎi')
File.open('file1', "w") {|file| file.puts replace}
0 голосов
/ 24 апреля 2011

Помогают ли эти две ссылки? Unicode-строки в Ruby-коде , Байты и символы в Ruby 1.8

Возможно, вам также стоит узнать основы Unicode .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...