Zum Inhalt springen

Problem mit Unicode

Erstellt am 9. März 2006 · 13 Antworten · letzte Antwort am 10. März 2006

Tags: Frage

Frank79 ·

Hallo,

ich möchte über das RTE z.B. folgenden Text einfügen
Bild: lavadental.com/…/fehler01.gif
Sobald ich im RTE auf speichern klicke sieht der Text im RTE so aus.
Bild: lavadental.com/…/fehler02.gif

Folgendes ist aber einegstellt:

$TYPO3_CONF_VARS['BE']['forceCharset'] = 'utf-8';

Die DB ist allerdings komplett auf Unicode umgstellt.
Mit polnischen und tschechischen Zeichen habe ich alleridngs keine Probleme nur mit manchen...

MySql Version ist 4.1.10a.
Betriebssystem SuSE 9.3

Liegt das Problem an MySql?!

Frank

obitas ·

Tritt das Problem auch auf, wenn du den RTE abschaltest und im abgeschalteten Modus den genannten Text eingibst und abspeicherst?

Dann könntest du das Problem näher eingrenzen, ob es vielleicht am RTE liegt.

Dann kannst du auch mal versuchen, direkt im phpMyAdmin in einer Zeile aus der tt_content-Tabelle den gleichen Text einzugeben. Dann weißt du, ob es an MySql liegen kann.

Mich wundert jedenfalls, dass nur manche Unicode-Zeichen nicht richtig dargestellt werden. Aus dem Bauch raus, hätte ich zuerst den RTE im Verdacht. Welche Version verwendest du?

Frank79 ·

RTE ist die Version 0.0.10
aber daran liegts wohl nicht.
Wird wohl wirklich an MySql liegen 🙁

Wenn ich den Text ohne RTE eingebe kommt diese Fehlermeldung

102: These fields are not properly updated in database: (bodytext) Probably value mismatch with fieldtype.

tandem ·

Hast du denn im TS-Setup auch folgende Zeile stehen:
page.config.metaCharset = utf-8

und hast du die Datenbank wie folgt erstellt:
CREATE DATABASE db-name DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

tandem ·

Dann noch folgendes prüfen bzw. einstellen:

In der Datenbank abfragen:
root@localhost [(none)]> show variables like "%char%"\G 
*************************** 1. row *************************** 
Variable_name: character_set_client 
Value: utf8 
*************************** 2. row *************************** 
Variable_name: character_set_connection 
Value: utf8 
*************************** 3. row *************************** 
Variable_name: character_set_database 
Value: utf8 
*************************** 4. row *************************** 
Variable_name: character_set_results 
Value: utf8 
*************************** 5. row *************************** 
Variable_name: character_set_server 
Value: utf8 
*************************** 6. row *************************** 
Variable_name: character_set_system 
Value: utf8 
*************************** 7. row *************************** 
Variable_name: character_sets_dir 
Value: /usr/local/mysql-max-5.0.17-linux-i686-glibc23/share/mysql/charsets/ 
7 rows in set (0.00 sec)

in der my.cnf

[client] 
default-character-set=utf8 

[mysqld] 
default-character-set=utf8
Frank79 ·

passt auch wie ichs hab. Steht alles auf utf8.
Das habe ich in der my.cnf stehen

[client]
default-character-set = utf8

[mysqld]
init_connect = 'SET collation_connection = utf8_general_ci'
init_connect = 'SET NAMES utf8'
default-character-set = utf8
character-set-server = utf8
collation-server = utf8_general_ci

[mysql]
default-character-set = utf8

hatte es aber auch schon so wie Du mit nur den beiden Zeilen .... leider das selbe Ergebnis.

Notfalls teste ich das ganze einmal mit MySql 5

Frank79 ·

ja das ist mir klar.
Sämtliche Tabellen und auch die entsprechenden Felder sind mit utf8_general_ci definiert.
Dann werd ichs mal im MySql Forum versuchen

Frank79 ·

ich hab meine alte my.cnf genommen (wie weiter oben gepostet) und den alten Dump eingespielt.
Also haargenau dieselben Einstellungen wie vorher mit MySQL 4.1.10
Damit lags definitiv an der MySQL Version

tandem ·

Das ist doch mal ein eindeutiges Ergebnis!
Werde - bevor ich in Produktion gehe - genau so verfahren.
Bin nämlich auch immer unsicher gewesen und mangels exotischer Beispiele wäre ich nicht drauf gekommen.
Danke!