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テーブルのto)であり、それをticp1251に変換する必要があります。しかし、それをどのように行うか = 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 に答える