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
Fatal error: Cannot redeclare fixencoding() (previously declared in verzeichnis:22) in verzeichnis on line 22

Vielen Dank schonmal!
Einen Kommentar schreiben: