iso-8859-1 vs. UTF-8 umlaut-problem

Seite 1 von 1 - Forum: Coding Stuff auf overclockers.at

URL: https://www.overclockers.at/coding-stuff/iso-8859-1_vs_utf-8_umlaut-problem_185826/page_1 - zur Vollversion wechseln!


TOM schrieb am 30.09.2007 um 00:24

Folgendes Problem

Eine Website läuft auf iso-8859-1 und eine auf UTF-8. Nun will ich in der UTF-8 Website ein php-script von der iso-8859-1 includen => Problem ist, dass die Umlaute nicht dargestellt werden können.

Hab mich jetzt schon mit den .htaccess dateien rumgespielt aber nur erreicht, dass dann die komplette website (von den umlauten her) nicht mehr funktioniert, dafür das include... aber nie alles

Also wie include ich ein Script mit einem anderen charset und schaffe es gleichzeitig, die Umlaute zu "retten"?

tia

TOM


fatmike182 schrieb am 30.09.2007 um 00:41

blöde Frage jetzt, aber warum nicht als &.umla/u/o; übersetzen, oder gehts grad um das? (Punkt wegdenken)


TOM schrieb am 30.09.2007 um 00:48

das php-script welches ich includen will, generiert den code irgendwo aus den tiefen des phpbb forums

wenn es hilft, kann ich das script ja posten... aber ich glaub nicht, dass man es einfach umschreiben kann, damit es UTF-8 ausgibt (ist anscheinend eine phpbb variabel)

edit: Könnte das meine Lösung sein? Klingt irgendwie danach, nur werd ich nicht schlau daraus, wie ich es jetzt einbauen muss.


fatmike182 schrieb am 30.09.2007 um 01:10

am Variable-finden kommst du anscheinend nicht vorbei...
Schalte alles auf get, und verfolg alles was in der Adressleiste übergeben wird.


TOM schrieb am 30.09.2007 um 01:22

der output des iso-8859-1 files lautet

Code: PHP
echo '<tr><td valign="top" nowrap="nowrap" align="center">'. $topic_type .'<a target="_parent" title="Von '. $last_author .' mit '. $replies .' Antwort(en)" href="'. $topic_url .'">'. $topic_title .'</a></td></tr> 

kann ich jetzt mit diesem iconv-php befehl die $topic_title variable in utf-8 konvertieren? dann wär das problem gelöst

edit: nochwas zu der thematik, aber ich werd auch nicht ganz schlau draus, wie das jetzt zu implementieren ist


fatmike182 schrieb am 30.09.2007 um 01:44

schaut gut aus.
bzw so hätt ichs gemeint:
http://www.phpfriend.de/forum/ftopic62686.html
http://www.flashforum.de/forum/arch...p/t-101739.html
(glaub ich)

hm. also wenns bei dir nur Umlaute und sonst keine Sonderzeichen sind, würd ich das mit dem htmlentities usw. machen, oder versuch der Einfachheit halber die Stringreplace-methode.
Ich nehm an, dass du eh keine Dateinamen oder so ändern musst, oder? (wie bei deinem Link eben, weil dann evtl der Strichpunkt stört)


TOM schrieb am 30.09.2007 um 01:56

in dem topic titel kann alles vorkommen... umlaute, scharfes ß, etc.

ich hab noch immer keinen plan, wie ich diese konvertierung einbauen soll...

das ist die variable:

Code: PHP
$topic_title = ( strlen($line[$i]['topic_title']) < $topic_length ) ? $line[$i]['topic_title'] : substr(stripslashes($line[$i]['topic_title']), 0, $topic_length) .'...';

oben steht der output.... was tun?


fatmike182 schrieb am 30.09.2007 um 02:12

also iirc hab ich das schon beim input gemacht, also wenn du Sachen in die DB speicherst passiert das bereits in der umlautfreien Form. (btw. mit Sonderzeichen hab ich gemeint, dass sich keiner ein Copyright oder so erwartet, das könnte evtl dann bissal ausarten)

bin zu zach zum Nachdenken, hoffe aber dass dir der Link evtl weiterhilft. Da wird das mit Funktionen umgesetzt, aber geht ums gleiche Probelm. http://www.wehavemorefun.de/fritzbox/index.php/Mac_OS_X


TOM schrieb am 30.09.2007 um 13:34

HA!

hab die bitch endlich an den eiern... eine zeile und es funkt pipifein :]

Code: PHP
$topic_title = iconv("ISO-8859-1","UTF-8","$topic_title");


fatmike182 schrieb am 30.09.2007 um 13:44

oag...
ist das standardmäßig dabei oder ist das was exotisches? (hast dus erst installieren müssen?)

btw was tut das jetzt?
das Textfeld/input mitn titel wird umlautfrei gemacht und in die DB gespeichert?


TOM schrieb am 30.09.2007 um 13:45

standard (hab mir nur so schwer getan, da alle gleich die ganze datenbank konvertiert haben und nicht nur eine variable)

die variabel wird einfach (in einem php-script) anstatt iso-8859-1 als UTF-8 ausgegeben.... dieses script include ich dann von einer utf-8 kodierten website und die umlaute werden korrekt dargestellt

hatte es vorher per iframe gelöst und dementsprechend keine probleme... da ich die site aber jetzt von frames befreit habe (eben auch SEO), hatte ich ein kleines charset problem bzgl. umlaute


fatmike182 schrieb am 30.09.2007 um 13:52

sag, würde utf8_encode/decode was anderes machen? Oder ist das die beschnittene iconv?

Aber freut mich, dasst den iconv-Weg gefunden hast, hab das immer umständlicher gemacht


TOM schrieb am 30.09.2007 um 14:06

was ich gelesen habe, macht es das selbe


COLOSSUS schrieb am 30.09.2007 um 14:21

Die meisten charset conversion utils greifen auf iconv zurueck; iconv ist Bestandteil der glibc und auch als standalone-CLI-Applikation auf den meisten GNU-Systemen verfuegbar.

Nichtuniverselle Charsets sind die Hoelle, gell? :D




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025