私はデータベースにparamsの出力を保存しようとしています(私はこれを保存しています:params.inspect
)。保存されることになっています文字列:Rails: "Mysql2 :: Error:不正な文字列値:" params.inspectを保存しようとしたとき
all_params = params.except(:controller, :action).inspect
それがうまくいかなかった:
> {\"utf8\"=>\"✓\", \"_method\"=>\"patch\", \"authenticity_token\"=>\"fpQC8FY8+qztD41jjcFSJRars539KRshw/vczmmJd9Q=\",
> \"car\"=>{\"role_type\"=>\"1\", \"admin_id\"=>\"67\",
> \"branch_id\"=>\"1\", \"template_id\"=>\"21\", \"cost\"=>\"0.00\",
> \"carrier_additional_cost\"=>\"0.00\", ...
まず、私はこのようなのparamsを保存しようとしました。だから、:
all_params = params.except(:controller, :action).inspect.encode("iso-8859-1")
また、この:
all_params = params.except(:controller, :action).inspect.encode("iso-8859-1").force_encoding("utf-8")
は同じエラーを返します。
params.inspect
の出力を正しく保存するにはどうすればよいですか?
このデータを保存しようとしている列は、ではなく、string
です。
は
予期しない文字列の値は何ですか?それは '✓'ですか? –
私はそう信じています - 他のものはすべて "普通の"文字のように見えます... – user984621
'params.to_s.encoding'はあなたに何を与えるのですか? –