Tag Archive for 'umlaute'

ÜÄÖß Umlaute kaputt in Ruby on Rails und MySQL [broken umlauts]

Hier die Lösung, wenn nur “??” für sämtliche Sonderzeichen ausgegeben wird in Ruby on Rails (wenn man Standardeinstellungen verwendet):

Update: Klaus hat in den Kommentaren eine bessere Lösung vorgeschlagen:
Einfach den Entwicklungsstadien (development, test, production) encoding: utf8 zufügen. Sieht dann so aus:
projekt/config/database.yml

development:
  adapter: mysql
  database: projekt_development
  username: root
  password:
  socket: /tmp/mysql.sock
  encoding: utf8
test:
  adapter: mysql
  database: projekt_test
  username: root
  password:
  socket: /tmp/mysql.sock
  encoding: utf8
production:
  adapter: mysql
  database: projekt_production
  username: root
  password:
  socket: /tmp/mysql.sock
  encoding: utf8

Hier die veraltete Lösung:

class ApplicationController < ActionController::Base
  before_filter :configure_charsets
  private
  def configure_charsets
    @response.headers["Content-Type"] = "text/html; charset=utf-8"
    # Nur ab MySQL 4.1
    suppress(ActiveRecord::StatementInvalid) do
    ActiveRecord::Base.connection.execute 'SET NAMES UTF8'
  end
end