#1 (permalink)  
Alt 07.08.2008, 12:01
Neuer Benutzer
 
Registriert seit: 29.07.2008
Beiträge: 7
Standard Auf UTF-8 umstellen

Ich habe gehört, dass man xt:Commerce ganz auf UTF-8 umstellen kann, um Darstellungsprobleme zu beseitigen.
Wie genau funktioniert das?
Welche Dateien muss ich ändern? (Mein Shop ist auf Deutsch und Russisch)

Ich bin für jede Hilfe dankbar!
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #2 (permalink)  
Alt 07.08.2008, 17:01
Erfahrener Benutzer
 
Registriert seit: 02.01.2007
Beiträge: 154
Standard

для этого практически все файлы надо перекодировать в утф-8
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #3 (permalink)  
Alt 02.09.2008, 17:47
xt:Commerce Support Kunde
 
Registriert seit: 14.07.2008
Ort: Tübingen
Beiträge: 38
Standard

Hi, danke!

Zitat:
Zitat von xaex Beitrag anzeigen
для этого практически все файлы надо перекодировать в утф-8
Wenn Du das auch noch mal auf Deutsch schreiben könntest - ich kann kyrillisch zwar lesen, aber leider nicht übersetzen

spassibo!
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #4 (permalink)  
Alt 02.09.2008, 20:31
Erfahrener Benutzer
 
Registriert seit: 02.01.2007
Beiträge: 154
Standard

da steht nichts besonderes drin.. nur dass man quasi fast alle dateien in uft-8 umwandeln muss..
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #5 (permalink)  
Alt 03.09.2008, 09:29
Benutzer
 
Registriert seit: 10.06.2005
Beiträge: 86
Standard

Zitat:
Zitat von ewgeni Beitrag anzeigen
Ich habe gehört, dass man xt:Commerce ganz auf UTF-8 umstellen kann, um Darstellungsprobleme zu beseitigen.
Mal ne blöde Frage, was hat der Zeichensatz der DB mit den Darstellungsproblemen zu tun?
Die meisten Darstellungsprobleme kommen doch daher, dass ich die Daten z.B. in UTF-8 abspeicher, aber in ISO-8859-15 ausgeben, oder anders herum.

Ich gehe mal davon aus, wir sprechen nur von diesen beiden Zeichensätzen.
Habe ich in der Datenbank meine Zeichen in ISO-8859-15 abgelegt, dann muss ich das dem Client auch sagen. Das mache ich doch mit dieser Zeile:
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15">
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #6 (permalink)  
Alt 22.09.2008, 00:27
xt:Commerce Support Kunde
 
Registriert seit: 10.05.2008
Beiträge: 1
Böse Anleitung zum Unstellen auf UTF9

Zitat:
Zitat von reinhardt Beitrag anzeigen
Mal ne blöde Frage, was hat der Zeichensatz der DB mit den Darstellungsproblemen zu tun?
Nichts. Wenn Du nur einen Zeichensatz hast, den Du darstellen willst, also nur Deutsch und Englisch z.B.
Zitat:
Zitat von reinhardt Beitrag anzeigen
Die meisten Darstellungsprobleme kommen doch daher, dass ich die Daten z.B. in UTF-8 abspeicher, aber in ISO-8859-15 ausgeben, oder anders herum.
So kann man das auch sehen.
Sinnvoll ist es durchaus einen Shop, der verschiedenste Sprachen 'spricht' gleich UTF8 zu codieren und dann dem Shop zu sagen, dass er auch UTF8 ausliefern soll. Dann muss die Datenbank auch UTF8 codieren und es klappt auch mit Kyrillisch oder Farsi oder gar Chinesischen oder Japanischen Schriftzeichen.
Kyrillisch geht ja noch, die schreiben ja auch von links nach rechts aber bei Farsi oder Asiatischer Schrift wird es ganz übel - aber mit UTF8 hast Du die Zeichen zumindest mal richtig in der Datenbank, das Ausliefern musst Du dann mit einem angepassten theme vornehmen.
Zitat:
Zitat von reinhardt Beitrag anzeigen
Ich gehe mal davon aus, wir sprechen nur von diesen beiden Zeichensätzen.
Das ist doch langweilig!
Zitat:
Zitat von reinhardt Beitrag anzeigen
Habe ich in der Datenbank meine Zeichen in ISO-8859-15 abgelegt, dann muss ich das dem Client auch sagen. Das mache ich doch mit dieser Zeile:
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15">
Toll. Und wo machst Du diese Zeile hin?
Es gibt ja nur ein paar unwichtige Konfigurationsdateien bei XTC!
So etwas hasse ich, klugsch... und einen Brocken hinwerfen, mit dem man nicht wirklich was anfangen kann.

Alles muss man selber machen, also, umbauen von XTC geht so:
Erst einmal ein Backup der Datenbank machen, wenn man nicht (wie ich) den Shop gleich auf UTF8 umstellen will. Ich habe dafür PHPmyadmin benutzt, da klickt man einfach auf export, wählt SQL als Export und klickt Senden an, damit man es herunterladen kann.

Die Manipulation der Datenbank habe ich direkt mit mysql gemacht, das Kommando dafür ist:
ALTER DATABASE <Datenbankname_ohne_Klammer> DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
So, jetzt ist die Datenbank (für neu angelegte Tabellen) auf UTF8 eingestellt. Dumm ist nur, dass da zig Tabellen schon drin sind, die man nun alle umwandeln muss:
ALTER TABLE <tablename> CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
So, wenn man die alle durch hat, schaut man mit PHPmyadmin mal nach, ob sie auch alle schön konvertiert worden sind und damit ist die Datenbank erstmal erledigt.

Dumm ist nur, dass nun die Datenbank UTF8 liefert, nun aber lustige Zeichen erscheinen, wenn man sich die Seite anschaut. Was tun?

Der Schlüssel hierfür liegt in /includes/header.php auf ca. Zeile 35:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Damit liefert der Shop nun UTF8 aus, aber dummerweise weiss er noch nicht, dass aus der Datenbank nun auch UTF8 kommt:
In inc/xtc_db_connect.inc.php auf etwa Zeile 39 steht:
if ($$link) mysql_select_db($database);
da setzt der Könner noch:
mysql_query("SET NAMES 'UTF8'");
drüber und gut is.

Dumm ist nur das Kontaktformular, da habe ich mal einen Test gefahren und mit Sonderzeichen aus aller Herren Länder um mich geworfen und es kam im Header die Info mit der Mail an:
Content-Type: text/plain; charset = "iso-8859-15"
Content-Transfer-Encoding: 8bit
Was ja in dem Fall total sch...ade ist.

Vielleicht weiss ja jemand in dem Fall mehr als ich, ich denke, dass ich da PHP sagen muss, in diesem Fall doch dem Mailserver (in meinem Fall Postfix), dass diese Mail UTF8-codiert ist.
Allerdings wage ich zu bezweifeln, dass das so einfach geht, wie das oben beschriebene.

Hoffe, das Problem des einen oder anderen nun gelöst zu haben.
Ich muss nun ein Theme anpassen und ich habe keine Ahnung, wie ich das machen soll um persische Schriftzeichen richtig von rtl (right to left) auszugeben, denn in der Datenbank landen sie andersrum, wenn man sie eingibt. Ganz schön gaga...

Gruß,
Mussa
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #7 (permalink)  
Alt 22.09.2008, 09:55
Benutzer
 
Registriert seit: 10.06.2005
Beiträge: 86
Standard

Zitat:
Zitat von Mussa Beitrag anzeigen
Das ist doch langweilig!

Toll. Und wo machst Du diese Zeile hin?
Es gibt ja nur ein paar unwichtige Konfigurationsdateien bei XTC!
So etwas hasse ich, klugsch... und einen Brocken hinwerfen, mit dem man nicht wirklich was anfangen kann.
Wenn du es nicht langweilig magst, dann kannst du auch nicht erwarten dass dir alles vorgekaut wird. ;-)

Für mich stellte sich auch erst mal nur die Frage warum muss xtc zwingend auf UTF8 umgestellt werden. Aber gut UTF8 ist zumindest auch nicht falsch, ich glaube aber, dass man dann so einiges im Shop umstellen muss.

Ich habe mal was zu einem Bug geschrieben, wo du definitiv was ändern musst, damit der Zeichensatz richtig ist: Zeichensatzprobleme nach dem Editieren einer Bestellung

Ansonsten würde ich einfach mal mit einem grep "charset=" oder so ähnlich über die Dateien gehen. Da sollte eigentlich immer so etwas wie ?php echo CHARSET stehen. und irgendwo muss CHARSET ja definiert sein, da ich aktuell nicht an den Quelltext komme, kann ich dir aber nicht sagen wo.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #8 (permalink)  
Alt 19.10.2008, 16:41
xt:Commerce Support Kunde
 
Registriert seit: 28.11.2005
Ort: NRW
Beiträge: 75
Standard

Mir hat dies hier geholfen :

hxxp://www.programmierer-forum.de/utf-8-in-iso-8859-1-konvertieren-mysql-datenbank-t67635.htm

ich hoffe sowas darf ich hier als Hilfe posten.

Nachdem Einbau hat mir das ca. 62.000 Sonderzeichen in weniger als 5 min umgewandelt.

Und es passt.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #9 (permalink)  
Alt 23.10.2008, 12:48
xt:Commerce Support Kunde
 
Registriert seit: 28.11.2005
Ort: NRW
Beiträge: 75
Standard

Und doch habe ich Probleme.
Die zeichen stimmen soweit bis auf das Eurozeichen.
Aber das lässt sich manuell beheben.

Nun wird aber im Quelltext ein merkwürdiger Umbruch gezeigt,
der wohl auch Folgen hat.
Es wird nicht der in der DB angegebene Zeichesatz (utf-8)angegeben,
sondern der wie man hier sieht :

<meta http-equiv="Content-Type" content="text/html; charset=utf8_unicode_ci
" />

So wie die zeile hier steht mit dem Umbruch am Ende wird es im Quelltext dar gestellt - ich habe den ganzen Morgen gesucht aber nichts gefunden um das zu ändern.

Kann mir jemand hier weiter helfen ???

Wäre sehr nett
Danke
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #10 (permalink)  
Alt 27.01.2009, 16:24
Erfahrener Benutzer
 
Registriert seit: 07.09.2006
Beiträge: 157
Standard Anführungszeichen

Ist:
<meta http-equiv="Content-Type" content="text/html; charset=utf8_unicode_ci
" />

Soll:
<meta http-equiv="Content-Type" content="text/html" charset="utf8_unicode_ci" />

Da müsste etwas im Code falsch sein.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
umstellen, utf8

Themen-Optionen
Ansicht

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Alternative zu einem Iframe?! kaktus82 Template System 18 14.05.2008 08:35
Title auf Startseite SmokingElephant Template System 8 15.10.2007 10:37


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:20 Uhr.

Copyright © 2014 xt:Commerce GmbH / xt:Commerce International Ltd. - All Rights Reserved

xt:Commerce is a SafeCharge brand