· 1 min read

MySQL DB in UTF8 konvertieren

Ein Wort der Warnung: Wie immer sollte man IMMER ein Backup anlegen bevor man seine Daten in großem Stil verändert —> Ihr seid gewarnt!

Hier nun das Script: Es ruft im Grunde die bekannten Shellscript-Befehle (iconv, mysqldump, etc.) auf um die Konvertierung durchzuführen.

[ruby wraplines=“true”]

class ConvertDbToUtf8

def self.up

db_name = ‘DATENBANK-NAME’ db_user = ‘DATENBAK-BENUTZER’ db_pass = ‘DATENBANK-PASSWORT’ db_host = ‘DATENBANK-HOST’

latin1_mysql_dump = ‘latin1_mysql_dump.sql’ utf8_mysql_dump = ‘utf8_mwsql_dump.sql’

print “DB-Dump holen… ” system “mysqldump —user=#{db_user} —password=’#{db_pass}’ —host=#{db_host} —add-drop-table —default-character-set=latin1 —insert-ignore —skip-set-charset #{db_name} > #{latin1_mysql_dump}” puts “…fertig”

print “Konvertierung nach UTF8 starten… ” system “iconv -f ISO-8859-1 -t UTF-8 #{latin1_mysql_dump} | sed ‘s/latin1/utf8/’ > #{utf8_mysql_dump}” puts “…fertig”

print “Datenbank neu anlegen” system “mysql —user=#{db_user} —password=’#{db_pass}’ —host=#{db_host} —execute=“DROP DATABASE #{db_name};"" system “mysql —user=#{db_user} —password=’#{db_pass}’ —host=#{db_host} —execute=“CREATE DATABASE #{db_name} CHARACTER SET utf8 COLLATE utf8_unicode_ci;"" puts “…fertig”

print “Konvertierten UTF8 Dump einspielen…” system “mysql —user=#{db_user} —password=’#{db_pass}’ —host=#{db_host} —default-character-set=utf8 #{db_name} < #{utf8_mysql_dump}” puts “…fertig”

puts ” Konvertierung abgeschlossen ” end

def self.down raise “Konvertierung fehlgeschlagen” end

end

[/ruby]

Back to Blog

Related Posts

View All Posts »

Leichte Einführung in mruby

Ruby 3.3.5 wurde veröffentlicht. Das Update behebt kleinere Fehler und wird allen Nutzern empfohlen. Weitere Details sind in den GitHub Release Notes verfügbar.

Ruby on Rails World 2024

Rails 8 verfolgt einen radikal vereinfachten Ansatz, um die Komplexität moderner Webentwicklung zu reduzieren. Mit dem \#NOBUILD-Prinzip werden CSS und JavaScript ohne Build-Prozesse direkt an den Browser geliefert. Die neuen Technologien Propshaft, Solid Cable und Solid Queue ermöglichen performante Lösungen ohne den Einsatz externer Dienste. Rails will damit die Abhängigkeit von teuren PaaS-Diensten minimieren und setzt auf offene, kostengünstige Alternativen für die Bereitstellung auf eigener Hardware. Gleichzeitig werden leistungsfähige Tools wie Thruster und Kamal 2 eingeführt, die Deployment-Prozesse weiter optimieren. Rails 8 kombiniert bewährte Prinzipien mit innovativen Features, um Entwicklern maximale Flexibilität und Effizienz zu bieten.

Ruby 3.3.5 Released

Ruby 3.3.5 wurde veröffentlicht. Das Update behebt kleinere Fehler und wird allen Nutzern empfohlen. Weitere Details sind in den GitHub Release Notes verfügbar.