Ankündigung

Einklappen
Keine Ankündigung bisher.

UTF8 Kodierung

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • goldschatz
    hat ein Thema erstellt UTF8 Kodierung.

    UTF8 Kodierung

    Hallo,

    ich würde gerne UTF8 erzwingen- hab schon recht viel gegoogelt und im Manual nachgeschaut, aber ich krieg es mit keiner meiner x Versuche hin.

    Bin damit gerade ein bisschen überfordert, weil meine PHP Kenntnisse doch noch eher spärlich sind.

    Ich hoffe ihr könnt mir weiterhelfen...

    PHP-Code:
    <?PHP
    $dbname
    ="***";

    $dbhost="localhost";

    $dbuser="***";

    $dbpass="***";

    mysql_connect($dbhost,$dbuser,$dbpass);

    mysql_select_db($dbname);


    $query "SELECT * FROM meldeformular WHERE datum >= Current_Date()  ORDER by datum LIMIT 5 ";

    $result mysql_query($query);

    while (
    $line mysql_fetch_array($result)) { ?>

    <?php
    define
    ('_is_utf8_split',5000);

    function 
    is_utf8($line) { // v1.01
        
    if (strlen($line) > _is_utf8_split) {
            
    // Based on: http://mobile-website.mobi/php-utf8-vs-iso-8859-1-59
            
    for ($i=0,$s=_is_utf8_split,$j=ceil(strlen($line)/_is_utf8_split);$i $j;$i++,$s+=_is_utf8_split) {
                if (
    is_utf8(substr($string,$s,_is_utf8_split)))
                    return 
    true;
            }
            return 
    false;
        } else {
            
    // From http://w3.org/International/questions/qa-forms-utf-8.html
            
    return preg_match('%^(?:
                    [\x09\x0A\x0D\x20-\x7E]            # ASCII
                | [\xC2-\xDF][\x80-\xBF]             # non-overlong 2-byte
                |  \xE0[\xA0-\xBF][\x80-\xBF]        # excluding overlongs
                | [\xE1-\xEC\xEE\xEF][\x80-\xBF]{2}  # straight 3-byte
                |  \xED[\x80-\x9F][\x80-\xBF]        # excluding surrogates
                |  \xF0[\x90-\xBF][\x80-\xBF]{2}     # planes 1-3
                | [\xF1-\xF3][\x80-\xBF]{3}          # planes 4-15
                |  \xF4[\x80-\x8F][\x80-\xBF]{2}     # plane 16
            )*$%xs'
    $line);
        }
    }
    ?>

    <?php echo $line[regatta_name]; ?>

     <?PHP

    }

    mysql_free_result($result);

    mysql_close();

    ?>

    Die Abfrage ansich funktioniert, nur werden die Umlaute falsch dargestellt.
    Mit dem Code zum Kodieren erhalte ich folgende Fehlermeldung:

    1 Ergebnis aus Tabelle
    Fatal error: Cannot redeclare fixencoding() (previously declared in verzeichnis:22) in verzeichnis on line 22
    Diese Meldung hab ich schon bei mehreren Versuchen bekommen- also scheiterts andscheinend immer an der gleichen Stelle

    Vielen Dank schonmal!

  • ChrisB
    antwortet
    http://www.php.de/php-einsteiger/464...verwenden.html!
    Dazu gehört auch, dass du dir zunächst mal selber klar machst, wo in etwa dein Problem denn nun eigentlich liegt.
    Das hier
    Mit dem Code zum Kodieren erhalte ich folgende Fehlermeldung:
    Fatal error: Cannot redeclare fixencoding() (previously declared in verzeichnis:22) in verzeichnis on line 22
    hat jedenfalls mit der im Titel erwähnten "UTF8 Kodierung" überhaupt nicht das geringste zu tun.

    Einen Kommentar schreiben:


  • nikosch
    antwortet
    http://www.php.de/adventskalender-20...perlative.html

    Einen Kommentar schreiben:


  • drsoong
    antwortet
    Deine Fehlermeldung kommt, weil Du Die Funktion innerhalb der while - Schleife deklarierst (Hast Du anscheinend umbenannt, richtig?!). Ein äußerst ungünstiger Ort. Packe die Funktionsdeklaration mal an den Anfang.

    Encodings kann man auch ganz gut mit der der PHP-Funktion iconv umwandeln.

    Einen Kommentar schreiben:


  • lstegelitz
    antwortet
    Ich sehe in dem Codestückchen weder ein include, noch die Deklaration einer Funktion namens fixencoding(), also was genau zeigst du uns hier?
    Die Fehlermeldung passt nicht zum gezeigten Code...

    Einen Kommentar schreiben:


  • goldschatz
    antwortet
    Hallo,

    meine Seite über die eingebunden wird sieht so aus:

    PHP-Code:
    <?php get_header();?>

    <div id="box">
    <div id="header">
    <? include ("headermenu.php"); ?> 
    </div>
    <div id="box1">

    </div>
    <div id="box2">

    </div>

    <div id="menu">
    <?php get_sidebar();?>
    </div>
    <div id="content">

    text

    </div>
    <div id="footer">
    <?php get_footer();?>
    </div>
    </body>
    </html>
    Sidebar ist die betroffene Datei und die ist nicht mehrmals eingebunden- in den anderen eingebundenen Seiten hab ich den Code noch nicht.

    Einen Kommentar schreiben:


  • ByStones
    antwortet
    Du versucht die Funktion/Methode fixencoding mehrmals zu deklarieren.
    Vermutlich liegt es daran dass du eine Datei mehrmals mit include einbindest.

    Einen Kommentar schreiben:

Lädt...
X