欧洲标志在没有显示的大虾桌里

时间:2012-10-15 16:24:31

标签: ruby-on-rails utf-8

我在rails中遇到问题,在虾表中显示欧元符号。我使用prawn为我的用户提供下载pdf发票的可能性。

pdf = Prawn::Document.new
[...]

invoice_data = [["Description", "Price", "Qty", "Total"]]

invoice_items.map do |item|
  pdf.font "#{Prawn::BASEDIR}/data/fonts/verdanab.ttf"
  pdf.font "#{Prawn::BASEDIR}/data/fonts/Verdana.ttf"
  invoice_data << ["","€ 10",1,"€ 10"]
end


pdf.table(invoice_data, :width => pdf.bounds.width,:cell_style => { :inline_format => true },:row_colors => ["FFFFFF", "DDDDDD"])

问题是在我尝试运行此代码后,我收到此错误,我无法让它工作,否则......

invoices_pdf.rb:64: invalid multibyte char (US-ASCII)
invoices_pdf.rb:64: invalid multibyte char (US-ASCII)
invoices_pdf.rb:64: syntax error, unexpected $end, expecting ']'
  invoice_data << ["","€ 10",1,"€ 10"]
                         ^

我看到了大虾谷歌小组的提示,但那些是pdf.text元素,这是一张桌子,我无法弄清楚....

谢谢!

1 个答案:

答案 0 :(得分:6)

帮助他人。

我得到了来自google google小组的“James Healy”的答案:

  

要在ruby 1.9文件中包含非ascii字符,您必须添加   跟随文件的第一行:

# coding: utf-8
     

干杯

     

詹姆斯

不知道。

感谢。