Archiv nach Schlagworten: Mysql

MySQL: Charset von ganzen Datenbanken bzw. Tables konvertieren

MySQL LogoAktuell stand ich vor dem Problem ein größeres Datenvolumen in die SQL-Datenbank eines bestehendes Projekt zu integieren. Nach Wiederherstellung der Daten aus einem SQL-Hotbackup, bemerkte ich das die „neuen“ Datenbanken und Tabellen alle im Charset „latin1“ bzw. der Collation „latin1_german1_ci“ definiert waren, wo hingegen die bestehenden Datenbanken des Projekts alle im Charset „utf8“ definiert waren.

Das ist mehr als nur ein kosmetisches Problem, denn es bedeutet das sämtliche Felder die Zeichenketten enthalten eine andere binäre Kodierung bei Sonderzeichen wie Umlaute enthalten. MySQL als Datenbank-System ist zwar in sehr flexibler Weise darauf ausgelegt Daten aus unterschiedlichen Charset zu handhaben. Aber dazu müsste eine Applikation die auf die Datenbank zugreift bewusst das Charset anmelden in der sie die Daten dann erwartet. Dazu kann eine Applikation nach öffnen der Verbindung zu einem MySQL-Server folgende Variablen setzen:

Weiterlesen »

Magento: Kunden-, Bestell- oder Rechnungsnummern ändern

Das OpenSource Shop System Magento sticht besonders durch seinen Featurereichtum vor und macht durch auch alt etablierten kommerziellen Shop-Systemen ernsthaft Konkurrenz. Zudem ist das Administrationsinterface klar gegliedert und erlaubt weitesgehend Zugriff auf alle Funktionen und Einstellen.

Magento OpenSource eCommerceEine Sache scheinen die Entwickler bislang vergessen zu haben, welche besonders auffällt wenn man einen bestehenden Shop von einen anderen System zu Magento migrieren muss. Sobald eine Rechnung erstellt wird,  wird von Magento automatisch eine fortlaufende Nummer erzeugt. Soweit werden schon mal die deutschen gesetzlichen Vorgaben an eine ordentliche Vergabe von Rechnungsnummern erfüllt. Allerdings hat ein Administrator leider keinerlei Möglichkeit die Rechnungsstartnummer nach Installation des Systems im Administrationmenu zu konfigurieren. Zudem sind die Rechnungsnummer immer automatisch 8-stellig und daher lautet die erste vergebene Nummer immer 10000001.
Weiterlesen »