0

我有这样的控制器:

def accumulators

    @pre_accums = Accumulator.all
    @accums = Kaminari.paginate_array(@pre_accums).page(params[:page]).per(20)
  end

和这样的看法

-if @accums.present?
  -@accums.each do |a|
    = a.model
    = a.get_accum_price(a.id)
    %br
= paginate @accums  

现在看起来像这样:

Áýðåí ïðîôè 35ç (535151) 300A 187x127x220 ðóñ.òîíê.êëåìû 47.0 
Áýðåí ïðîôè 44ç (544107) 390A 207x175x190 45.0 

但在 db 中我有奇怪的数据编码)它的编码是 iso-8859-15(到 db 表),我必须将它转换为 ti cp1251。但如何做到这一点仅适用于 = a.model

?

所以像“ISO-8859-15:CP1251”这样编码

4

1 回答 1

0

语法和过程取决于您使用的数据库。这是一个用例,您可以只更改 MySQL 的当前数据库的字符集:

ALTER TABLE table_name CHARACTER SET "ISO-8859-15:CP1251";

这个用例是当您实现相同的目标但采取不同的步骤时。在 postgresql 中(你可以在 mysql 中做同样的事情),你必须对当前数据库进行转储,删除它,创建一个具有所需编码的新数据库并从转储中导入数据:

pg_dump database_name > outfile
DROP DATABASE database_name
CREATE DATABASE database_name ENCODING 'LATIN1';
psql database_name < infile
于 2012-10-25T12:34:09.493 回答