3

我在对虾表中显示欧元符号时遇到问题。我使用 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 元素的,这是一张表格,我无法弄清楚....

谢谢!!

4

1 回答 1

6

去帮助别人。

我从虾谷歌组的“James Healy”那里得到了答案:

要在 ruby​​ 1.9 文件中包含非 ascii 字符,您必须将以下内容添加到文件的第一行:

# coding: utf-8

干杯

詹姆士

不知道那个。

谢谢。

于 2012-10-17T10:18:26.873 回答