Ich versuche, die Ausgabe von Params in der Datenbank zu speichern (ich spare dies: params.inspect
) - hier ist ein Beispiel für die Zeichenfolge, die gespeichert werden soll ist:Rails: "Mysql2 :: Fehler: Falscher String-Wert:" beim Versuch, "params.inspect" zu speichern
> {\"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\", ...
Zuerst habe ich versucht, die params wie folgt zu speichern:
all_params = params.except(:controller, :action).inspect
aber es hat nicht funktioniert. Also:
all_params = params.except(:controller, :action).inspect.encode("iso-8859-1")
Auch dies:
all_params = params.except(:controller, :action).inspect.encode("iso-8859-1").force_encoding("utf-8")
gibt den gleichen Fehler.
Wie wird die Ausgabe von params.inspect
richtig gespeichert? Die Spalte, in der ich versuche, diese Daten zu speichern, lautet text
, nicht string
.
Danke
Was ist der unerwartete Zeichenfolgenwert? Ist es "✓"? –
Ich glaube schon - alles andere sieht wie ein "normaler" Charakter aus ... – user984621
Was gibt dir "params.to_s.encoding"? –