Doctrine2: Wie legen Sie fest, dass alle Tabellen mit UTF8 sortiert werden?
Bin ich mit Lehre mit Symfony2.
Meine config.yml-Datei sieht wie folgt aus:-
Lehre Konfiguration
doctrine:
dbal:
driver: %database_driver%
host: %database_host%
port: %database_port%
dbname: %database_name%
user: %database_user%
password: %database_password%
charset: UTF8
Leider meine Tabellen nicht Sortieren, um die UTF8_general_ci oder UTF8_unicode_ci
Ich habe versucht,
collate: utf8_unicode_ci
Aber Doctrine2 nicht erkennen das option.
Wie kann ich erreichen das gleiche?
InformationsquelleAutor der Frage Amit | 2012-01-25
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den
charset: UTF8
option ist nur sinnvoll, zu Fragen, Lehre ausführenSET NAMES UTF-8
auf jeder Seite. Ich habe keine spezielle Konfiguration für die Lehre, und meine Tabellen sind standardmäßig in InnoDB utf8_general_ci.Lesen Sie diesen Teil der Dokumentation: http://www.doctrine-project.org/docs/orm/2.1/en/reference/faq.html#how-do-i-set-the-charset-and-collation-for-mysql-tables, es beantwortet deine Frage:
InformationsquelleAutor der Antwort Nanocom
Das Verhalten von collate hat sich geändert in der Lehre: http://www.doctrine-project.org/jira/browse/DDC-2139
Die Sortierung ist jetzt auf utf8_unicode_ci, wenn Sie nicht angeben, so etwas auf die Tabelle. Der Weg nach rechts ist jetzt auf hinzufügen, um die Optionen in der Tabelle Erklärung:
Generiert die richtige Sortierung für die Tabelle:
Habe ich von ihm ein Problem für die Dokumentation aktualisiert werden dieses Verhalten.
InformationsquelleAutor der Antwort rickard2
Schlage ich vor, Sie versuchen, fügen Sie diese Einstellung, um Ihre Lehre Konfiguration:
Also es sieht wie folgt aus:
Als Referenz Lehre Konfiguration:
http://symfony.com/doc/2.0/reference/configuration/doctrine.html#reference-dbal-configuration
Und falls Sie MySql verwenden:
http://dev.mysql.com/doc/refman/5.0/en/charset-connection.html
BTW. Ich hatte Probleme mit der Anzeige von polnischen Zeichen und das hinzufügen nur Namen ohne Sortierung (wie unten) geholfen.
InformationsquelleAutor der Antwort v0rin
UPDATE:
Sehen Symfony3.1 Buch für Referenz (klicken Sie hier):
Beachten Sie auch die Verwendung von utf8mb4 anstelle der einfachen utf8. ("Symfony empfiehlt utf8mb4 gegen MySQL utf8-Zeichensatz, da es nicht der Unterstützung von 4-byte-unicode-Zeichen und strings, die diese enthalten, werden abgeschnitten. Das ist behoben durch die neueren utf8mb4-Zeichensatz.")
InformationsquelleAutor der Antwort DevWL
Verwenden Sie folgenden code, legen Sie die Sortierung, Motor-und charset (Anmerkung Beispiel):
Quelle: http://doctrine-orm.readthedocs.org/projects/doctrine-orm/en/latest/reference/annotations-reference.html#annref-column
InformationsquelleAutor der Antwort Igor Vizma
Finden Sie in der Dokumentation hier http://dev.mysql.com/doc/refman/5.0/en/charset-applications.html wenn Sie mit ORMs wie Lehre.
Besonders: hinzufügen/Bearbeiten die
[mysqld]
block in Ihrer meine.cnf (in der Regel in /etc/my.cnf oder xampp/mysql/my.cnf)InformationsquelleAutor der Antwort Amit
Traf ich die gleichen Probleme. Suche den code, ich finde den code in
vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/MySqlPlatform.php
Also änderte ich es auf 'utf8_general_ci', und es funktionierte. Alle Tabellen' Sortierung geändert
utf8_general_ci
nach dem Umbau, ich habe aber noch eine Frage: wenn ich änderte die Anmerkungen, ich bekam die folgende Fehlermeldung:Suche ich in der Dokumentation überein, aber ich finde nicht die "option" - Eigenschaft, kann mir jemand sagen, wie verwenden Sie die Optionen-Eigenschaft, ich denke, es könnte in der Lage sein, zu ändern, sammeln und Anmerkungen Einstellungen?
InformationsquelleAutor der Antwort Marco Chen
Erstelle ich manuell meine Datenbank mit UTF8 collate (ex. mit phpmyadmin). Wenn ich dies tun, werden alle Tabellen erstellen mit dem Kommando doctrine:schema:create haben collate utf8.
InformationsquelleAutor der Antwort smoreno
Ich hatte das gleiche problem haben, und nach der Lektüre diese Dokumentation aus Lehre-Projekt-Seite habe ich beschlossen, aufzugeben Lösung mit yml-Datei.
InformationsquelleAutor der Antwort Dawid Job
Habe ich erfolgreich eingesetzt
options: collate
im YML-Konfiguration von Symfony 2.7.InformationsquelleAutor der Antwort Sithu
wenn Sie auf der Suche nach einem Weg, um Migrationen werden korrekt erstellt, sollten Sie setup die Verbindung
können Sie die default_table_options Verbindung-option, dies zu erreichen:
in symfony dies geschieht durch:
für diejenigen, die es tun, in einfachen Lehre bedeutet dies eine Lehre-Verbindung option defaultDatabaseOptions, und wird an den entity-manager zusammen mit Ihrem Datenbank-Anmeldeinformationen etc:
InformationsquelleAutor der Antwort esserj
Ich habe diese Probleme mit dem abrufen der Daten, die umfasst polnische Zeichen aus der Datenbank. Es sieht so aus:
Effekte, die die Anzeige von Daten aus db
meine config.yml ist wie:
und ich habe die Suche nach einer Antwort für ein paar Stunden - ich bin so müde von diesem. "1002: SET NAMES 'utf8'" funktioniert Nicht für mich. Aber wenn ich versuchte, den Zugriff auf meine db von einfachen php-Skript (aus dem symfony -) die Wirkung war die gleiche, aber wenn ich die hinzugefügte Zeile:
es funktionierte einwandfrei. So scheint es zu sein etwas seltsam. Alle Tabellen in meiner db haben 'utf8_unicode_ci' gesetzt.
InformationsquelleAutor der Antwort skuteq