Seite 1 von 1

UTF-8 bei Mod Rewrite und Urlnamen

Verfasst: Mo 24. Nov 2008, 15:39
von Greg°r
Hallo zusammen,

ich konnte keinen Beitrag bez. dieses Problems finden und musste selbst eine Zwischenlösung finden. Aber erstmal das Problem.

Beim Speichern von Artikeln/Kategorien werden ja auch die Urlnamen/Aliase automatisch generiert - wenn nicht händisch eingegeben. Das funktioniert mit dem Encoding ISO-8859-1, welches wahrscheinlich auch in 99% aller Fälle zum Einsatz kommt prima, jedoch nicht bei UTF-8.

Wenn für das Encoding UTF-8 benutzt wird, dann wird aus dem Artikelnamen "änderungswünsche" "nderungswnsche" erzeugt, da die in der Funktion capiStrReplaceDiacritics() angegebenen Sonderzeichen nicht erkannt und umgewandelt werden.

Es geht wie schon erwähnt um die automatische Urlnamenserzeugung aus dem Titel!

Meine Lösung befindet sich ebenfalls in includes/functions.api.string.php und sieht so aus:

Code: Alles auswählen

function capiStrReplaceDiacritics ($sString, $sourceEncoding = "ISO-8859-1", $targetEncoding = false) {
	/* If the target encoding isn't set, use source encoding */
	if ($targetEncoding == false)
	{
		$targetEncoding = $sourceEncoding;
	}
	$sString = capiStrRecodeString($sString, 'UTF-8', $sourceEncoding);

	...
capiStrRecodeString() konvertiert den UFT-8-String wieder nach ISO-8859-1 und die darunter liegende Sonderzeichenerkennung/-konvertierung funktioniert wieder.

Bessere Vorschläge, da ein Eingriff in die functions.api.string.php?

Viele Grüße

Verfasst: Di 25. Nov 2008, 23:56
von xmurrix
Hallo Greg°r,

deine Lösung zum Beheben des Encoding-Problems macht einen guten Eindruck.

Wie die Änderung sich aber bei einem anderen Encoding als UTF-8 verhält, kann ich jetzt nicht beurteilen, vermute aber, dass dann Strings mit ISO-8859-1 falsch kodiert werden. Eventuell müsste man zuerst eine UTF-8 Erkennung dazwischenschalten.

Gruß
xmurrix

Re: UTF-8 bei Mod Rewrite und Urlnamen

Verfasst: So 26. Apr 2009, 17:41
von _wiewo_
hab die änderungen bei mir gemacht (Contenido 4.8.12)

Nun macht der aus Produktübersicht => Produkt
vorher Produktübersicht => Produktbersicht

nun schneidet der das ganz ab =/

hilfestellung?