Anzeige:
Ergebnis 1 bis 3 von 3

Thema: utf8_decode nicht komplett?

  1. #1
    Registrierter Benutzer Avatar von tocotac
    Registriert seit
    23.08.2002
    Ort
    Berlin
    Beiträge
    25

    Exclamation utf8_decode nicht komplett?

    hallo Forum,

    Ich habe folgendes Problem:
    Ich habe eine Webseite ind latin1 und am Ende möchte ich einige Daten aus einer Datenbank anzeigen lassen, die in UTF8 gespeichert sind. Also übersetze ich die Daten vorher mittels utf8_decode in latin1. Bei deutschen Umlauten (ä -> ä|ö -> ö|ü -> ü|...) funktioniert das alles auch, ohne Probleme.
    Aber bei türkischen Umlauten (ı|ÄŸ|__alle, die mit einem grossen "Ä" angangen__) scheitert die Funktion.

    Wenn ich am Anfang uft8 als Zeichensatz mit der Funktion header() angeben, werden die Umlaute korrekt überstetzt, aber dann stimmt der Rest nicht mehr, weil die restliche Seite in latin1 ist.

    kann mir jemand weiterhelfen?
    vielen Dank

    p.s.: bin auch per IM erreichbar -> ICQ: 144322540

  2. #2
    Registrierter Benutzer Avatar von oracle2025
    Registriert seit
    18.03.2002
    Beiträge
    136
    Da stellt sich die Frage ob die Türkischen Umlaute im Latin1 Zeichensatz enthalten sind. Falls das nicht der Fall ist, mußt du wahrscheinleich die ganze Seite auf utf8 umstellen.
    Niemand dringt hier durch und
    gar mit der Botschaft eines Toten.
    Du aber sitzt an Deinem Fenster und
    erträumst sie Dir, wenn der Abend kommt.

  3. #3
    Registrierter Benutzer Avatar von undefined
    Registriert seit
    01.03.2004
    Beiträge
    1.255
    Das Problem ist mir nur zu bekannt
    Auszug aus einer meiner Klassen
    PHP-Code:
       /**
       * @short Konvertiere String nach UTF-8
       * @param [String] \b $i
       * @param [String] \b $c Convertiere von Type utf-8 Standard
       * @param [String] \b $s addslashes
       * @return (String) \b $i (UTF-8)
       * @protectedsection
       */
       
    protected function sql_StringConvertToUtf8$in$c 'utf-8'$s true )
       {
          
    $a = array( "iso-8859-1""iso-8859-15""utf-8""cp866""cp1251""cp1252""koi8-r",
             
    "big5""gb2312""big5-hkscs""shift_jis""euc-jp" );

          
    $c chop$c );
          
    $c strtolower$c );
          if ( ! 
    in_array$c$atrue ) )
             return 
    $in;

          
    $in stripslashes$in );
          
    $f = ( $c == 'utf-8' ) ? 'u' '';
          if ( 
    preg_match"/\&[#\d|\w]/$f"$in ) )
             
    $in html_entity_decode$inENT_QUOTES$c );

          
    $str utf8_encodeutf8_decode$in ) );
          if ( 
    $str === $in )
             
    $in utf8_decode$in );
          else if ( 
    strcasecmp$str$in ) )
             
    $in utf8_decode$in );

          
    $in = ( $s ) ? addslashes$in ) : $in;
          return 
    utf8_encode$in );
       } 
    Danach ein htmlentities()
    Geändert von undefined (02-11-2005 um 09:57 Uhr)
    mfg undefined
    --
    Undefined Behavior (undefiniertes Verhalten) bedeutet meistens etwas ungültiges.
    xhtml Debugger

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •