[PHP] UTF-8 Zeichenkodierung in Website

Dieses Thema im Forum "Webentwicklung" wurde erstellt von Christian91, 29. Dezember 2009 .

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen
  1. #1 29. Dezember 2009
    UTF-8 Zeichenkodierung in Website

    Ich hab da einen ganz seltsamen Fehler auf unserer Abipage, undzwar ist die Page mit UTF-8 codiert, und im Quelltext wird das dem Browser auch so vermittelt.

    Dennoch stellt sich beim Aufruf der Website Firefox auf die ganz falsche Codierung und die Umlaute werden ganz schrecklich angezeigt ;(

    Könnt ihr mir sagen woran das liegt? Die Page ist die folgende:

    http://abi11.gibt-alles.de/

    MfG Christian

    Im Quelltext steht doch
    Warum verdammt nochmal erscheint das dann nicht ordentlich ^^
     

  2. Anzeige
    Heute: Deals & Sale mit stark reduzierten Angeboten finden.
  3. #2 29. Dezember 2009
    AW: UTF-8 Zeichenkodierung in Website

    Firefox: Ansicht => Zeichenkodierung und UTF-8 auswählen :D Dann gehts auch einwandfrei ^^

    Das problem ist wohl, dass sich die Kodierung nicht automatisch umstellt denn beim Aufruf ist sie bei mir ISO. Ich schau mal was man dazu findet.
     
  4. #3 29. Dezember 2009
    AW: UTF-8 Zeichenkodierung in Website

    Alternativ kannst du die Umlaute ja mit ihren Entsprechungen kodieren, also ü -> ü
     
  5. #4 29. Dezember 2009
  6. #5 30. Dezember 2009
    AW: UTF-8 Zeichenkodierung in Website

    des umstellen in Firefox will ich den Besuchern nicht zumuten :lol:

    und entsprechende Umlaute umschreiben möcht ich mir nicht zumuten xD
    Das wird mit der Zeit einfach viel zu viel Arbeit, sobald da ein paar Texte online sind :p

    Also vorher geladen werden nur die mysql datenbank, eine functions und config, aber dort passt die Codierung, in der config steht auch nochmals extra UTF-8.

    Ich hab eine .htaccess angelegt mit folgendem Text: AddDefaultCharset UTF-8

    Selbst das geht nicht ?!?

    Kann es sein dass die Serverbetreiber da einfach eine Kodierung vorschreiben?

    MfG Christian
     
  7. #6 30. Dezember 2009
    AW: UTF-8 Zeichenkodierung in Website

    ich hab für den utf-8 scheiss zwei funktionen die dir den tag retten werden:

    PHP:
    <? php

    //für ne ausgabe von utf-8 zeichen als html
    //sollte auch mit nem iso-8859-* charset klappen
    function  utf8entities ( $string ) {
        
    $string  mb_convert_encoding ( $string 'HTML-ENTITIES' 'UTF-8' );

        
    //hier hat die boardsoftware die zeichen verschluckt... also
        //immer nach "=>" den html-code angeben zb "& quot;" (ohne leerzeichen)
        
    return  strtr ( $string , array(
            
    '"'   =>  '"'
            
    "'"   =>  "'"
            
    '<'   =>  '<'
            
    '>'   =>  '>'
        
    ));
    }

    //mit der funktion kannst du aus nem html-string 
    //wieder nen echten utf-8 string machen
    function  utf8string ( $string ) {
        
    $string  mb_convert_encoding ( $string 'UTF-8' 'HTML-ENTITIES' );
        

        
        
    return  $string ;
    }
    anwenden:
    PHP:
    <? php

    $str 
    "¬▓⌂s▄6®▼D" ;
    print 
    utf8entities ( $str );
     
  8. #7 30. Dezember 2009
    AW: UTF-8 Zeichenkodierung in Website


    Achso, die ganzen Werte kommen aus der Datenbank?

    Dann führe einfach mal vor der allerersten Abfrage folgenden query durch:
    SET NAMES 'utf8'
    bzw.
    SET NAMES 'latin1'

    (probier unbedingt beide Varianten aus!)
     
  9. #9 30. Dezember 2009
    AW: UTF-8 Zeichenkodierung in Website

    klar kann man ewig dran fummeln um wirklich mit utf8 zu arbeiten, aber meine beiden funktionen laufen auf allen systemen und man braucht keine SET-rechte für die db.

    ich speicher einfach das ergebnis der funktion in der db... und da kann die sogar auf ascii stehen und es gibt keine probleme. (allein die übertragung von multibyte-strings in nem query is ne sache für sich)

    php wird erst ab version6 richtig mit unicode umgehen können (ich bin ja mal gespannt wie das in der stable-version klappen soll). bis dahin gibts halt "nur" die mb_* funktionen um mit unicode-strings zu arbeiten.

    ps "<?xml version="1.0" encoding="utf-8"?>" muss man ned hinschreiben, es sei denn du codest XHTML und lieferst das ganze server-seiting als XHTML+XML aus. dann sollte es sogar dastehen, weil der xml-parser sonst bockt.
     
  10. #10 30. Dezember 2009
    AW: UTF-8 Zeichenkodierung in Website

    Ich danke euch, ich werd das mal testen sobald ich aus der Silvesterstimmung rausbin, weil ab jetzt geht nichts mehr mit PHP und co. Jetzt kommt nur noch Silvesterplanung :p

    Ich schreib dann wies ausging, vielen Dank den ganzen Vorschlägen, Bewertungen sind raus.
     

  11. Videos zum Thema
Die Seite wird geladen...
Similar Threads - PHP UTF Zeichenkodierung
  1. Antworten:
    4
    Aufrufe:
    1.732
  2. [PHP] UTF-8 verschiebt layout

    encud , 16. August 2010 , im Forum: Webentwicklung
    Antworten:
    12
    Aufrufe:
    892
  3. Antworten:
    9
    Aufrufe:
    1.066
  4. Antworten:
    20
    Aufrufe:
    1.875
  5. Antworten:
    11
    Aufrufe:
    1.000
  • Annonce

  • Annonce