utf-8 oder doch nicht?

Fragen/Tipps allgemeiner Art.

utf-8 oder doch nicht?

Beitragvon Don Michele » 10. Feb 2008, 15:40

Hallo zusammen,

erst Mal möchte ich Redaxo in höchsten Tönen loben. Das System ist einfach zu installieren und nahezu selbsterklärend!

Ich habe eine Frage zur UTF-8 Kodierung. Ich habe Redaxo mit de_de_urf8 installiert und natürlich auch dem Frontend ein entsprechendes Charset gegeben - alles Bestens. Die MySql DB hat ebenfalls eine entsprechende Kollation bekommen (utf8_unicode_ci)

Im Backend wir (fast) alles richtig Dargestellt, im Frontend passt alles. Wenn man die DB jedoch mit dem phpMyAdmin aufmacht bekommt man in den Zellen die klassischen Sonderzeichenfehler zu sehen und auch bei einem export aus dem phpm<admin treten sie auf. Charset des phpMyadmins ist ebenfalls UTF-8. Woran liegt das, bzw wie kann ich rausfinden wo der fehler passiert?

Ich hab folgenden Artikel gefunden der ein ähnliches Verhalten beschreibt:
http://forum.de.selfhtml.org/archiv/2007/1/t143563/

danach habe ich den quellcode von redaxo nach "SET NAMES" dursucht aber nichts gefunden.

Versionen:
Mysql: 5.0.32
phpmyadmin:2.9.0
PHP: 5.1.6

beste Grüße aus Österreich,
Don
Don Michele
 
Beiträge: 36
Registriert: 10. Feb 2008, 15:19

Beitragvon Markus.Staab » 10. Feb 2008, 17:37

Hi Don,

Willkommen bei REDAXO.

Schau mal ins Wiki.

Gruß,
Markus
Benutzeravatar
Markus.Staab
Entwickler
 
Beiträge: 9781
Registriert: 29. Jan 2005, 14:50
Wohnort: Aschaffenburg/Germany

Beitragvon Don Michele » 10. Feb 2008, 18:29

Super danke!!! genau was ich gesucht habe.

kannst du mir noch einen tipp geben wie ich die daten aus der DB richtig rausdumpen kann um sie dann im richtigen UTF8 Format wieder importieren zu können? ginge das vielleicht mit einem kleinen PHP script?

ich habe schon einigen Content in der seite und will nicht alles neu machen.

danke,
Don
Don Michele
 
Beiträge: 36
Registriert: 10. Feb 2008, 15:19

Beitragvon Markus.Staab » 10. Feb 2008, 18:47

Benutzeravatar
Markus.Staab
Entwickler
 
Beiträge: 9781
Registriert: 29. Jan 2005, 14:50
Wohnort: Aschaffenburg/Germany

Beitragvon Don Michele » 10. Feb 2008, 20:21

danke für den link, aber das wird nicht funktionieren da die einträge ja schon utf8 kodiert in der DB stehen. ich denke ich werde einen mysql dump machen und das sql file dann einfach utf8 decoden (dann pasen die sonderzeichen wieder) und dann wieder importieren, dann sollte es passen.
Don Michele
 
Beiträge: 36
Registriert: 10. Feb 2008, 15:19

Beitragvon Don Michele » 10. Feb 2008, 21:29

geschafft!!! jetzt passt es! vielen Dank für die schnelle Hilfe.

Grüße,
Don
Don Michele
 
Beiträge: 36
Registriert: 10. Feb 2008, 15:19

Beitragvon Don Michele » 30. Mär 2008, 16:12

habe jetzt auf redaxo 4.1 upgegradet und kann die Einstellung fpr SET NAMES UTF8 nicht mehr finden. Wo muss man das jetzt umstellen?
Don Michele
 
Beiträge: 36
Registriert: 10. Feb 2008, 15:19

Beitragvon mondmann » 31. Mär 2008, 10:09

Don Michele hat geschrieben:geschafft!!! jetzt passt es! vielen Dank für die schnelle Hilfe.

Grüße,
Don


Erzähl mal wie...?
mondmann
 
Beiträge: 89
Registriert: 6. Mär 2006, 10:48

Beitragvon Don Michele » 31. Mär 2008, 14:38

naja so wie ich es ein posting höher angekündigt habe :-)

aus mysql exportieren -> decoden (zb. Ultraedit) -> wieder in mysql importieren -> fertig

aber jetzt bei version 4.1 kann ich die codezeile für die umstellung auf SET NAMES UTF8 nicht mehr finden
Don Michele
 
Beiträge: 36
Registriert: 10. Feb 2008, 15:19

Beitragvon Don Michele » 1. Apr 2008, 21:46

weiss denn niemand rat wie ich redaxo 4.1 auf UTF8 DB-connection sauber umstellen kann?
Don Michele
 
Beiträge: 36
Registriert: 10. Feb 2008, 15:19

Beitragvon Markus.Staab » 2. Apr 2008, 08:50

Hi,

deine Datenbank muss in UTF-8 collation angelegt sein, sowie deren Tabellen und Spalten. Danach deine Sprache in der UTF-8 Version im Backend auswählen...

Mehr sollte nicht zu machen sein..

Ausnahme: Du hast eine Seite die bereits in ISO erstellt wurde. Dann musst du noch die vorhandenen Inhalte konvertieren.

Viele Grüße,
Markus
Benutzeravatar
Markus.Staab
Entwickler
 
Beiträge: 9781
Registriert: 29. Jan 2005, 14:50
Wohnort: Aschaffenburg/Germany

Beitragvon Don Michele » 2. Apr 2008, 14:15

Hallo Markus,

danke für die Antwort, aber das habe ich alles :-)

habe das problem gelöst, ich hab einfach die im wiki erwähnte mysql query in "class.rex_sql.inc.php" dazu kopiert und jetzt passt wieder alles

Code: Alles auswählen
function selectDB()
  {
    global $REX;
    if (!@ mysql_select_db($REX['DB'][$this->DBID]['NAME']))
    {
      echo "<font style='color:red; font-family:verdana,arial; font-size:11px;'>Class SQL 1.1 | Database down. | Please cont
      exit;
    } else {
    @mysql_query("SET NAMES utf8");
    }
  }

könnt ihr das in zukünftige Versionen nicht einfach fix aufnehmen wenn UTF8 bei der Installation ausgewählt wird?

danke unf beste Grüße,
Don
Don Michele
 
Beiträge: 36
Registriert: 10. Feb 2008, 15:19

Beitragvon Markus.Staab » 2. Apr 2008, 18:05

Hi Don,

Don Michele hat geschrieben:könnt ihr das in zukünftige Versionen nicht einfach fix aufnehmen wenn UTF8 bei der Installation ausgewählt wird?


das hab ich mir auch grad gedacht.. wird im nächsten Feature-Release (4.2) so sein..

Gruß,
Markus
Benutzeravatar
Markus.Staab
Entwickler
 
Beiträge: 9781
Registriert: 29. Jan 2005, 14:50
Wohnort: Aschaffenburg/Germany


Zurück zu Allgemeines [R4]

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste