2013-04-26 57 views
0

我有一个在ruby中定义散列数组的问题。我发现了一些解决方案,但是他们都没有回答这个小代码示例有什么问题:为什么我不能在ruby中分配散列数组?

users = [{:id => "1", :imie => "Szymon", :punkty => "0"}, 
{:id => "2", :imie => "Krzysiek", :punkty => "0"}, 
{:id => "3", :imie => "Przemek", :punkty => "0"}, 
{:id => "4", :imie => "Paweł", :punkty => "0"}] 

谢谢!

+3

什么错误或问题是你看到?对于Ruby 1.9.3,这是有效的语法。 – 2013-04-26 08:30:21

+0

没有错。 – sawa 2013-04-26 08:31:02

+0

在红宝石OS X上工作1.9.3 – 2013-04-26 08:32:15

回答

2

问题与 - :imie => "Paweł"此条目。 无效的多字节字符(US-ASCII)

使用这样的:

# encoding: UTF-8 
users = [{:id => "1", :imie => "Szymon", :punkty => "0"}, 
{:id => "2", :imie => "Krzysiek", :punkty => "0"}, 
{:id => "3", :imie => "Przemek", :punkty => "0"}, 
{:id => "4", :imie => "Paweł", :punkty => "0"}] 

p users.class #=>Array 

使用如下:

Encoding.default_external = 'utf-8' 
Encoding.default_internal = 'utf-8' 
+0

谢谢。至于我使用#编码:在纯红宝石的UTF-8它的工作原理,但不适用于sinatra。 – 2013-04-26 08:38:55

+0

@SzymonFortuna请参阅我的**编辑。** – 2013-04-26 08:41:45

+0

我在所有需求之前添加了#encoding行,它的工作原理类似于魅力。非常感谢! – 2013-04-26 08:42:46

相关问题