Damit MySQL mit Hibernate UTF-8 kodierte Zeichen richtig speichert, muss man die jdbc-URL um ein paar Parameter erweitern, so dass sie ungefähr so aussieht: jdbc:mysql://127.0.0.1:3306/meine_datenbank?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8 Ohne diese Modifikation werden UTF-8 Sonderzeichen als Fragezeichen abgespeichert. Gefunden auf: http://www.isocra.com/2007/01/utf-8-with-hibernate-30-and-mysql/
CakePHP kann zwar mit UTF-8 umgehen, allerdings werden die Daten nicht als UTF-8 in der MySQL-Datenbank gespeichert. Datensätze sehen dann beispielsweise so aus: “Bündnis 90 Die Grünen”. Im Konstruktor des AppModel (“/app/app_model.php”) kann man dieses Problem aber beheben, indem man “SET NAMES ‘UTF8′” ausführen lässt, bevor andere Abfragen an die Datenbank gestellt werden. class AppModel [...]
Wenn Hibernate mit MySQL und MySQLDialect oder MySQL5Dialect genutzt wird, kann es sein, dass der Datentyp Boolean nicht richtig funktioniert. Und zwar legt Hibernate ein Boolean-Feld in MySQL als BIT(1) an, womit scheinbar der JDBC-Treiber nicht klarkommt. Damit Boolean-Felder mit Hibernate/MySQL richtig funktionieren, kann und sollte man den Datentyp des Feldes auf TINYINT(1) setzen. Mit Annotations geht das beispielsweise so: [...]
Als ich begann MAMP zu benutzen, vor ein paar Jahren, war es noch die einzige Möglichkeit unproblematisch einen Apache mit PHP und MySQL auf dem Mac zum Laufen zu bekommen. Inzwischen ist etwas Zeit vergangen und es gibt den aus der Windows- und Linux-Welt bekannten XAMPP als Alternative zu MAMP. Zur Installation wird XAMPP, genauso [...]
Mit MySQL lassen sich über das Terminal einfach Datenbank-Dumps (Kopien der Datenbank) erzeugen und einlesen. Zum Erzeugen nutzt man den Befehl mysqldump und zum Einlesen eines Dumps den Befehl mysql. Erzeugen /pfad/zu/mysqldump -u$DBUSER -p$DBPASSWD -h$DBHOST $DATABASE > $FILENAME Einlesen /pfad/zu/mysql -u $DBUSER -p$DBPASSWD –database=$DATABASE < $FILENAME Ist die zu importierende Datei in UTF-8 kodiert, kann es [...]
Seit der Version 4.0 besitzt MySQL einen Query-Cache. Dieser Cache speichert Ergebnisse von SQL-Abfragen im Speicher und antwortet, wenn die exakt gleiche Daten-Abfrage erneut kommt, mit dem gecachten Ergebnis. Jede Tabelle hat ihren eigenen Cache. Bei schreibendem Zugriff (Daten Manipulation) auf die Tabelle muss deren Cache gelöscht werden. Die Aktivierung des Caches ist daher vor [...]
