# How to convert a string's charset?

**URL:** <https://www.ruby-forum.com/t/how-to-convert-a-strings-charset/91357>\
**Category:** Ruby\
**Created:** [April 7, 2007, 11:21am UTC](https://www.ruby-forum.com/t/how-to-convert-a-strings-charset/91357 "2007-04-07T11:21:42Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![xain](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/x/82dd89/32.png) [@xain](https://www.ruby-forum.com/u/xain)\
**Post date:** [April 7, 2007, 11:21am UTC](https://www.ruby-forum.com/t/how-to-convert-a-strings-charset/91357/1 "2007-04-07T11:21:42Z")

</div>

I want to convert a string’s charset from GB2312 or BIG5 to UTF-8. How  
can i do  
this?

---

<div class="post-metadata">

**Author:** ![xain](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/x/82dd89/32.png) [@xain](https://www.ruby-forum.com/u/xain)\
**Post date:** [April 7, 2007, 1:21pm UTC](https://www.ruby-forum.com/t/how-to-convert-a-strings-charset/91357/2 "2007-04-07T13:21:32Z")

</div>

- Nanyang Z. (removed\_email\_address@domain.invalid) wrote:

> I want to convert a string’s charset from GB2312 or BIG5 to UTF-8. How  
> can i do  
> this?

Use Iconv:

# load library

require ‘iconv’

# create iconv object

# (be careful: the parameter order is TO, FROM)

ic = Iconv.new(‘UTF-8’, ‘BIG5’)

# convert string

dst\_str = ic.iconv(src\_str)

---

<div class="post-metadata">

**Author:** ![xain](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/x/82dd89/32.png) [@xain](https://www.ruby-forum.com/u/xain)\
**Post date:** [April 7, 2007, 8:43pm UTC](https://www.ruby-forum.com/t/how-to-convert-a-strings-charset/91357/3 "2007-04-07T20:43:54Z")

</div>

Paul D. wrote:

> Use Iconv:  
> Thanks.  
> It works,but some strings will raise error, I have to skip them.

---

<div class="post-metadata">

**Author:** ![xain](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/x/82dd89/32.png) [@xain](https://www.ruby-forum.com/u/xain)\
**Post date:** [April 8, 2007, 3:07am UTC](https://www.ruby-forum.com/t/how-to-convert-a-strings-charset/91357/4 "2007-04-08T03:07:46Z")

</div>

- Nanyang Z. (removed\_email\_address@domain.invalid) wrote:

> Paul D. wrote:
> 
> > Use Iconv:  
> > Thanks.  
> > It works,but some strings will raise error, I have to skip them.

You can tell iconv to transliterate or ignore characters that it can’t  
convert. Appendd //TRANSLIT or //IGNORE to the name of the destination  
character set.
