Hello all.
Ruby 1.9.
When I create some strings with Russian letters in C extensions, they
have
str.encoding #=> #Encoding:ASCII-8BIT
while being created in Ruby, they have proper UTF-8. Where is I’m idiot?
Thanks.
V.
Hello all.
Ruby 1.9.
When I create some strings with Russian letters in C extensions, they
have
str.encoding #=> #Encoding:ASCII-8BIT
while being created in Ruby, they have proper UTF-8. Where is I’m idiot?
Thanks.
V.
Hi,
On Thu, Aug 21, 2008 at 12:18 AM, Victor ‘Zverok’ Shepelev
[email protected] wrote:
Hello all.
Ruby 1.9.
When I create some strings with Russian letters in C extensions, they havestr.encoding #=> #Encoding:ASCII-8BIT
while being created in Ruby, they have proper UTF-8. Where is I’m idiot?
rb_str_new() creates a ASCII-8BIT string in Ruby 1.9.
You need to use rb_enc_str_new() with proper rb_encoding.
If your extensions always make UTF8 strings, use rb_utf8_encoding().
If the encoding depends on locale, use rb_locale_encoding().
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.
Sponsor our Newsletter | Privacy Policy | Terms of Service | Remote Ruby Jobs