UTF8 MySQL-Probleme auf Rails - Probleme mit utf8_general_ci

Habe ich eine staging-Rails-Website, die läuft über MySQL 5.0.32-Debian.

Auf diese bestimmte Website, die alle meine Tabellen sind mit utf8 /utf8_general_ci Codierung.

Innen, die Datenbank habe ich einige Daten, die sieht so aus:

mysql> select * from currency_types limit 1,10;
+------+-----------------+---------+
| code | name            | symbol  |
+------+-----------------+---------+
| CAD  | Canadian Dollar | $       |
| CNY  | Chinese Yuan    | å…ƒ     |
| EUR  | Euro            | €     |
| GBP  | Pound           | £      |
| INR  | Indian Rupees   | ₨     |
| JPY  | Yen             | ¥      |
| MXN  | Mexican Peso    | $       |
| USD  | US Dollar       | $       |
| PHP  | Philippine Peso | ₱     |
| DKK  | Denmark Kroner  | kr      |
+------+-----------------+---------+

Hier ist das Problem, das ich habe

Auf Inszenierung (mit der db und Schienen Website läuft auf dem debian-box), das Zeichen für Symbole werden nicht richtig angezeigt, wenn aus den Schienen. Zum Beispiel, der chinesische Yuan ist, erscheint 元 in meinem browser, nicht, å...ƒ wie zeigt es in der Datenbank.

Wenn ich zum download, die Daten auf meinem lokalen OS X-Entwicklung Computer und führen Sie die db-und Schienen lokal, sehe ich die Darstellung aus dem inneren der DB (å...ƒ) in meinem browser, nicht den Charakter 元, da sehe ich in der Inszenierung.

- Debugging hab ich gemacht

Hab ich sorgte dafür, dass alle Header für den Content-Type wieder als utf8 von jedem webserver (lokaler, staging).

Meinem lokalen mysql-server und staging-server sind beide-Installation mit utf8 als default charset. Ich bin mit "set names 'utf8'", bevor ich Anrufe.

Kann ich auch eine Verbindung zu meinem staging-db von meinem OS-X-Rails-host, und ich sehe immer noch die Zeichen å...ƒ Vertretung des yuan. Ich vermute dann, vielleicht gibt es ein Problem mit meinem lokalen mysql-client, aber ich kann nicht herausfinden, was das Problem ist.

Vielleicht verleihen eine Ahnung

Zu machen, noch mehr verwirrend, wenn ich paste das Zeichen 元 in der db auf meinem lokalen Rechner, ich sehe, dass in den web-browser in Ordnung. --- ABER wenn ich einfügen, dass dasselbe Zeichen in meiner Inszenierung db, erhalte ich eine ? markieren Sie in ihm Platz auf der Seite aus meiner Inszenierung Schienen Website.

Auch lokal auf meinem OS X-Schienen-Maschine, wenn ich "set names 'latin1'", bevor meine Abfragen, die Charaktere kommen alle wieder richtig. Ich habe diese Tabellen als latin1 vor - könnte das das Problem sein?

Jemand bitte helfen Sie mir hier, ich werde verrückt versuchen, herauszufinden, was falsch ist.

InformationsquelleAutor der Frage Subimage | 2008-12-06

Schreibe einen Kommentar