Seite 1 von 1

iso-8859-1 zu utf-8

Verfasst: 11.09.2006 19:20
von faraday
Ich suche eine Funktion, die es erlaub z.b. die $lang-Variablen in Unicode utf-8 umzuwandeln.

Code: Alles auswählen

utf8_encode($lang);
funktioniert irgendwie nicht. Ich habe auch schon

Code: Alles auswählen

$language[] = utf8_encode($lang);
$lang[] = $language;
probiert. Ich ahbs auch schon einzelnt probiert, also z.B. so

Code: Alles auswählen

utf8_encode($lang['bla']);
Ich denke, ich muss da irgendeine Funktion mit replace oder sowas machen. Aber ich weiß nicht, wie das geht. Also schonmal danke im Voraus!

EDIT: Also es funktioniert jetzt mit

Code: Alles auswählen

utf8_encode($lang['bla']);
aber ich möchte gerne so, dass alle $lang arrays encodet werden. WIe mache ich das?

Verfasst: 11.09.2006 21:51
von fanrpg

Code: Alles auswählen

foreach( $lang as $name => $value )
{
unset($lang[$name]);
$lang[$name] = utf8_encode($value);
}

Verfasst: 11.09.2006 22:34
von Banger
@fanrpg: was soll denn das unset? Das ist obsolet.

So geht's auch, aber kürzer:

Code: Alles auswählen

$lang = array_map('utf8_encode', $lang);

Verfasst: 11.09.2006 23:17
von faraday
THX!
Beides läuft, hab mich aber für das kürzere entschieden...ich denke, das büßt weniger performance ein.

Verfasst: 11.09.2006 23:23
von fanrpg
@fanrpg: was soll denn das unset? Das ist obsolet.
Ich habs mir halt so angewöhnt, bevor ich eine Variable neu zuweise vorher zu löschen.

Verfasst: 11.09.2006 23:47
von faraday
Ist das im Grunde nicht schwachsinn, wenn die Variable sowieso überschreiben wird, Angewohnheit hin oder her?

Verfasst: 12.09.2006 00:00
von Banger
fanrpg hat geschrieben:Ich habs mir halt so angewöhnt, bevor ich eine Variable neu zuweise vorher zu löschen.
Das bringt keinerlei (mir ersichtlichen) Vorteil; nur Performanceeinbußen (wenn auch geringe). Da PHP bei Zuweisungen automatisch den Variablentyp anpasst, sind auch in dieser Hinsicht keine Probleme zu erwarten - also wofür?

Um noch 2 cent draufzulegen: eigene Angewohnheiten hat jeder; ohne Mehrwert sollte man sie aber nicht weitergeben und sich auf Standards beschränken :)