# Transfer GBK into UTF-8 in csv file

**URL:** <https://www.ruby-forum.com/t/transfer-gbk-into-utf-8-in-csv-file/187006>\
**Category:** Ruby\
**Created:** [April 15, 2010, 3:49pm UTC](https://www.ruby-forum.com/t/transfer-gbk-into-utf-8-in-csv-file/187006 "2010-04-15T15:49:18Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![luofeiyu](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/l/9de0a6/32.png) [@luofeiyu](https://www.ruby-forum.com/u/luofeiyu)\
**Post date:** [April 15, 2010, 3:49pm UTC](https://www.ruby-forum.com/t/transfer-gbk-into-utf-8-in-csv-file/187006/1 "2010-04-15T15:49:18Z")

</div>

here is my programm  
programm1:  
require ‘csv’  
require ‘iconv’  
CSV.open(’/home/pt/test/shbaseback.csv’, ‘w’) do |wrow|  
CSV.open(’/home/pt/test/shbase.csv’, ‘r’) do |row|  
wrow \<\< Iconv.iconv(‘UTF-8’,‘GBK’,row)  
end  
end

wrong message:  
/usr/local/ruby/lib/ruby/1.9.1/csv.rb:1988:in `=~’: invalid byte  
sequence in UTF-8 (ArgumentError)

programm2:  
require ‘csv’  
require ‘iconv’  
CSV.open(’/home/pt/test/shbaseback.csv’, ‘w’) do |wrow|  
CSV.open(’/home/pt/test/shbase.csv’, ‘r’) do |row|  
wrow \<\< Iconv.iconv(‘UTF-8’,‘GBK’,row.to\_s)  
end  
end  
wrong message:  
/usr/local/ruby/lib/ruby/1.9.1/csv.rb:1988:in `=~’: invalid byte  
sequence in UTF-8 (ArgumentError)

i just want to change the csvfile’s (/home/pt/test/shbase.csv) code GBK  
into UTF-8(/home/pt/test/shbaseback.csv),how can i do?
