PDA

Shop Support News Archive - Shopbetreiber News -> Forum : ECB:Template Gunnart_V1 UTF-8 Fehler ?


audeko
10.03.2009, 19:33
Hi,

also an dieser Stelle erst einmal meine Hochachtung an diese EcomBase-ShopSoftware !!! Eichfach SUPER !

Ich habe die lettische Sprache (Front) angefangen von meinem XTC-Shop/Onlineshop umzuschreiben.
Mit dem Template [CSS Shop/Onlineshop Template s oder Tabellen Shop/Onlineshop Template s ] "Gunnart_V1" erhalte ich bei der Erstellung des CONTENT-Einträge folgendes:

Eingabe: "komerciālās attiecības"

Dies wir automatisch umgesetzt in "komerci& # 257;l& # 257;s attiec& # 299;bas"

Angezeigt wird dann im Content-Manager "komerciālās attiecības" aber im Shop/Onlineshop unter "mehr über.." leider die
""komerci& # 257;l& # 257;s attiec& # 299;bas""-Version

Gleiche Einstellungen wie beim XTC mit UTF-8.

.... Im Yaml-Template [CSS Shop/Onlineshop Template s oder Tabellen Shop/Onlineshop Template s ] wird alles richtig angezeigt !
Die Leerzeichen habe ich eingefügt, damit die Forum-Software die Codierung nicht umsetzt !!
mfg
smarties

audeko
12.03.2009, 09:22
Nachtrag:</span>

Kann mir das bitte jemand erklären !?

Innerhalb des Content werden Zeichenmit einem "amp" erweitert und somit nicht mehr richtig angezeigt.

Dies hier steht innerhalb des selben Quelltextes ....
Quelltext-Auszug ...

"Box" id="BoxAddQuickie">
<h4>& #256;tr& #257; pirk& #353;ana</h4> (Ātrā pirkšana)
Quelltext-Auszug /...

somit wird der Header dieser Box richtig angezeigt !

weiter unten steht ...

Quelltext-Auszug ...
title="komerci& amp; #257;lie noteikumi"><span>komerci& amp; #257;lie noteikumi
Quelltext-Auszug /...

Angezeigt wird dies dann ohne die "amp"-Erweiterung

[attachmentid=4013]

Ich verstehe nicht, warum ein Teil von Zeichen richtig angezeigt wird und ein anderer mit "amp" innerhalb des Buchstaben-Code's erweitert wird !?
Weiss jemand wo ich diesen Fehler suchen sollte !?!?
Danke im voraus !

Gunah
12.03.2009, 13:01
guck dir dazu ambesten mal die sources datei an dort wird im Menü alles per htmlspecialchars umgewandelt...

msslovi0
12.03.2009, 13:16
Irgendwer wandelt Deine UTF-8-Zeichen beim Eintragen in die Datenbank in die entsprechende HTML-Entsprechung um (konnte ich jetzt mit aktueller ECB [ ECB SEO SHOP SOFTWARE KOSTENLOS ]-Beta und Safari nicht nachvollziehen, evtl. also mal den Browser wechseln).

In templaes/gunnart_v1/source/boxes/content.php findet sich dann in Zeile 91 folgendes:
$content_data['content_title'] = htmlspecialchars ( $content_data['content_title'] , ENT_QUOTES);

DaDurch wird aus z.B.
&aelig;
folgendes:
&amp;aelig;

Was dann zum von dir beschriebenen Verhalten führt.

Du kannst diese Zeile auskommentieren, die saubere Lösung wäre aber, dass die Zeichen auch wirklich als UTF-8 in der Datenbank gespeichert werden.

audeko
12.03.2009, 13:54
Erst einmal vielen Dank für eure Antworten.
Ich bin Testungsweise hingegangen und habe die Datenzeile in der DB direkt bearbeitet und den Buchstaben manuell ausgetauscht .... :D

Das war nur ein Test !!!!
Aber es klappert ! - Sollte natürlich nicht zur Gewohnheit werden.
Im Verlauf der Anpassung habe ich auch festgestellt, dass versch. Wörter, welche in der Sprachdatei enthalten sind in den Auswahlfeldern genutzt werden.
In den Sprachdateien ist alles sauber und in den Auswahlfeldern wird es dann falsch angezeigt.

Ich werde mal suchen !!!!

msslovi0
12.03.2009, 14:09
Definiere mal sauber. Wie genau sehen Sonderzeichen in den Sprachdateien aus? Ist das die HTML-Entsprechung oder steht da wirklich das korrekte Sonderzeichen drin? Und ist Deine Sprachdatei auch UTF-8-kodiert?

audeko
12.03.2009, 14:42
''>ZITAT(msslovi0 @ Mar 12 2009, 15:09) 153242
Definiere mal sauber. Wie genau sehen Sonderzeichen in den Sprachdateien aus? Ist das die HTML-Entsprechung oder steht da wirklich das korrekte Sonderzeichen drin? Und ist Deine Sprachdatei auch UTF-8-kodiert?
[/b]

Definiere mal sauber. .... Alle Zeichen, Punkte und Striche, Hochzeichen ect. gesetzt inkl. > ' < Striche

Ja, ist UTF-8 !
Das ist ja das Ding. Wörter, welche z.B. in den BoxHeadern stehen und auch viele anderen komplette Sätze sind absolut korrekt in der Darstellung !
Und im Yaml-Template [CSS Shop/Onlineshop Template s oder Tabellen Shop/Onlineshop Template s ] wird alles korrekt dargestellt. Somit sollte man davon ausgehenm, dass die "latvia.php" und "lang_latvia.conf" i.o. sind

Auszug aus der latvia.php:

define('IMAGE_BUTTON_ADD_ADDRESS', 'Jaun& #257; adrese');
define('IMAGE_BUTTON_BACK', 'Atpaka& #316;');
define('IMAGE_BUTTON_CHANGE_ADDRESS', 'Main& #299;t adresi');
define('IMAGE_BUTTON_CHECKOUT', 'P& #257;rbaude');
define('IMAGE_BUTTON_CONFIRM_ORDER', 'Apstiprin& #257;t pas& #363;t& #299;jumu');
define('IMAGE_BUTTON_CONTINUE', 'N& #257;ko& #353;ais');
define('IMAGE_BUTTON_DELETE', 'Dz& #275;st');
define('IMAGE_BUTTON_LOGIN', 'Autoriz& #256;cija');
define('IMAGE_BUTTON_IN_CART', 'Iepirkumu groz& #257;');
define('IMAGE_BUTTON_SEARCH', 'Mekl& #275;t');
define('IMAGE_BUTTON_UPDATE', 'Aktualiz& #275;t');
define('IMAGE_BUTTON_UPDATE_CART', 'Aktualiz& #275;t iepirkumu grozu');
define('IMAGE_BUTTON_WRITE_REVIEW', 'Rakst& #299;t v& #275;rt& #275;jumu');

Hinweis: Leerzeichen bei "& #" eingefügt, da diese sonst hier im Forum umgesetzt werden!
... Ich suche mal.
... Danke

msslovi0
12.03.2009, 14:52
''>ZITAT(smarties @ Mar 12 2009, 14:42) 153283
Ja, ist UTF-8 ![/b]

Das ist zwar UTF-8, aber wenn ich mir das anschaue:


define('IMAGE_BUTTON_ADD_ADDRESS', 'Jaun& #257; adrese');
define('IMAGE_BUTTON_BACK', 'Atpaka& #316;');

enthält die Datei kein einziges Zeichen, das UTF-8 erforderlich machen würde, weil alle Sonderzeichen Durch ihre HTML-Entsprechung ersetzt sind.

''>ZITAT</div>... Ich suche mal.[/b]

Du müsstest aus dem Gunnart-Template [CSS Shop/Onlineshop Template s oder Tabellen Shop/Onlineshop Template s ] alle htmlspecialchars()-Anweisungen, die es so im YAML-Template [CSS Shop/Onlineshop Template s oder Tabellen Shop/Onlineshop Template s ] nicht gibt, rauswerfen. Aber IMHO solltest Du die Sonderzeichen in den Sprachdateien korrekt eintragen und nicht ļ als & #316; angeben. Löst das Problem auch und zwar sauber.

audeko
12.03.2009, 17:37
''>ZITAT(msslovi0 @ Mar 12 2009, 15:52) 153287
Du müsstest aus dem Gunnart-Template [CSS Shop/Onlineshop Template s oder Tabellen Shop/Onlineshop Template s ] alle htmlspecialchars()-Anweisungen, die es so im YAML-Template [CSS Shop/Onlineshop Template s oder Tabellen Shop/Onlineshop Template s ] nicht gibt, rauswerfen. Aber IMHO solltest Du die Sonderzeichen in den Sprachdateien korrekt eintragen und nicht ļ als & #316; angeben. Löst das Problem auch und zwar sauber.
[/b]

Sag, hab ich Dich richtig verstanden, dass ich die Wörter alle mit den richtigen Buchstaben umschreiben soll ?

In früheren Versionen war diese Art die einzige, welche wirklich funktionierte - UND JETZT UMSCHREIBEN ??? :smiley_emoticons_aufsmaul:

- Sag mir bitte dass ich Dich da falsch verstanden habe !

msslovi0
12.03.2009, 17:53
Du kannst auch, wie gesagt, die ganzen htmlspecialchars()-Vorkommen, die im YAML-Template [CSS Shop/Onlineshop Template s oder Tabellen Shop/Onlineshop Template s ] nicht sind, aus dem Gunnart-Template [CSS Shop/Onlineshop Template s oder Tabellen Shop/Onlineshop Template s ] rausnehmen.

Aber ich bin halt ein Verfechter von medienneutralen Daten und würde daher die Sache mit den korrekten Buchstaben definitiv bevorzugen. Ein vernünftiger Texteditor schafft das mit globalem Suchen und Ersetzen auch innerhalb kürzester Zeit.

audeko
12.03.2009, 18:00
''>ZITAT(msslovi0 @ Mar 12 2009, 18:53) 153343
Du kannst auch, wie gesagt, die ganzen htmlspecialchars()-Vorkommen, die im YAML-Template [CSS Shop/Onlineshop Template s oder Tabellen Shop/Onlineshop Template s ] nicht sind, aus dem Gunnart-Template [CSS Shop/Onlineshop Template s oder Tabellen Shop/Onlineshop Template s ] rausnehmen.

Aber ich bin halt ein Verfechter von medienneutralen Daten und würde daher die Sache mit den korrekten Buchstaben definitiv bevorzugen. Ein vernünftiger Texteditor schafft das mit globalem Suchen und Ersetzen auch innerhalb kürzester Zeit.
[/b]

Jep, dass geht natürlich.
Ich werde jetzt ein paar Zeilen umschreiben und das ganze testen.
Danke für Deine Hilfe.
Wenn das mit dem Umschreiben klappert, dann mache ich das.

Dies hätte natürlich auch für die Zukunft seine Vorteile, wenn es um Schreibfehlersuche geht!

mfg