Posts: 531
Threads: 20
Joined: May 2008
Reputation:
15
Ich habe ein Problem mit den sonderzeichen, die sind laut der Hilfe mit urlencode() codiert, aber wenn ich den Stammesnamen durch diese Funktion jage kommt was anderes raus als das was bei ds in der CSV Datei steht.
Bund+der+H%C3%B6lle _das ist der datensatz wie er über die weltdaten kommt
, aber wenn ich Bund der Hölle durch urlencode() schiebe kommt Bund+der+H%F6lle raus. Ich weiß nicht was die %c3%b6 sein soll
Vielleicht hat jemand hier schonmal mit den Weltdaten gearbeitet und kann mir Helfen.
Posts: 671
Threads: 43
Joined: May 2008
Reputation:
31
urldecode() anstatt urlencode() verwenden
Posts: 531
Threads: 20
Joined: May 2008
Reputation:
15
wenn Bund+der+H%C3%B6lle ich durch die urldecode Funktion schicke kommt das raus -> Bund der Hölle
Posts: 671
Threads: 43
Joined: May 2008
Reputation:
31
Dann mal bitte in den head-Bereich der Datei folgendes schreiben:
Code: <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
Posts: 531
Threads: 20
Joined: May 2008
Reputation:
15
(This post was last modified: 30.08.2008, 21:46 by agent47.)
30.08.2008, 21:27
kann ich nicht, ich lade die daten direkt (ohne zwischenspeichern) von ds in meine db. Mir fällt aber auch keine Funktion ein mit der ich den Standart Zeichensatz in dem Script das die daten in die DB zieht festlegen kann.
Die daten werden ja von DS im CSV Format bereit gestellt, ich weiß nicht genau ob da das festlegen des Zeichensatzes über meta überhaupt geht.
Edit:
Ich habe jetzt erstmal über str_replace() die zeichenkette aus der CSV Datei gegen die zeichenkette, die dann urldecode() als ä, ü und ö ausgibt, austauscht.
Die Lösung funktiniert zwar erstmal, ist aber nicht die beste da dadurch ja nur die ä, ü und ö berichtigt werden, aber auch noch andere zeichen nicht richtig zurückgegeben werden. So kann ich erstmal mit den Daten weiterarbeiten aber optimal ist es noch lange nicht.
Posts: 1'004
Threads: 101
Joined: Jun 2008
versuch doch mal Bund+der+Hölle aus. kenn mich zwar net so mit aus aber probieren schadet nicht oder?
Posts: 531
Threads: 20
Joined: May 2008
Reputation:
15
das ist die html codierung für das ö, das hab ich schon versucht aber da kommt ganz was anderes raus. Meine Momentane Lösung sieht so aus:
PHP Code: function umlaute($string) { $string = str_replace("%C3%B6", "%F6", $string); //ö $string = str_replace("%C3%BC", "%FC", $string); //ü $string = str_replace("%C3%A4", "%E4", $string); //ä $string = str_replace("%C3%9F", "%DF", $string); //ß return $string; }
Posts: 531
Threads: 20
Joined: May 2008
Reputation:
15
Ich hab nochmal ne Frage, hat zwar nix mit den Weltdaten zu tun aber ich will keinen neue Thread aufmachen.
ich bekomme immer diese Fehlermeldung:
Warning: Invalid argument supplied for foreach() in ...\bbcodes.php on line 165
Zeilen 68-78
PHP Code: //Code BBcodes auslesen $reg = "/\[[c][o][d][e]\].*\[\/[c][o][d][e]\]/iU"; preg_match_all($reg, $string, $array); $code_ = array_unique($array["0"]); $i = 0; foreach($code_ as $akt_code) { $akt_code = str_replace("[code]", "", $akt_code); $akt_code = str_replace("[/code]", "", $akt_code); $code_array["$i"] = $akt_code; $i++; } //Array $code_array mit Code-elementen
Zeilen 164-167
PHP Code: //Code BBcode zu HTML foreach($code_array as $_code_array) { $string = str_replace("[code]".htmlentities($_code_array)."[/code]", "<div>".htmlentities($_code_array)."</div>", $string); }
Ich weiß einfach nich warum der fehler kommt, das $code_array ist auch ein Array wenn ich es auf den Datentyp teste
Posts: 1'107
Threads: 37
Joined: May 2008
Reputation:
47
Wie wärs mit
PHP Code: // name convertierung $name = utf8_decode(urldecode($original_name));
- enjoy
Posts: 531
Threads: 20
Joined: May 2008
Reputation:
15
(This post was last modified: 07.09.2008, 19:46 by agent47.)
07.09.2008, 18:24
(07.09.2008, 18:15)agrafix Wrote: Wie wärs mit
PHP Code: // name convertierung $name = utf8_decode(urldecode($original_name));
- enjoy
das is aber nich auf meine letze frage bezogen oder?
EDIT: Hab ne funktionierende Lösung gefunden, aber ne foreach bringt immernoch die warnun obwol es funktioniert.
Posts: 1'107
Threads: 37
Joined: May 2008
Reputation:
47
(07.09.2008, 18:24)agent47 Wrote: (07.09.2008, 18:15)agrafix Wrote: Wie wärs mit
PHP Code: // name convertierung $name = utf8_decode(urldecode($original_name));
- enjoy
das is aber nich auf meine letze frage bezogen oder?
Nein, das war auf dein Weltdatenproblem bezogen oO
(07.09.2008, 18:24)agent47 Wrote: EDIT: Hab ne funktionierende Lösung gefunden, aber ne foreach bringt immernoch die warnun obwol es funktioniert.
Schreib' mal vor
PHP Code: //Code BBcode zu HTML foreach($code_array as $_code_array) { $string = str_replace("[code]".htmlentities($_code_array)."[/code]", "<div>".htmlentities($_code_array)."</div>", $string); }
das:
Und poste die ausgabe hier
Posts: 531
Threads: 20
Joined: May 2008
Reputation:
15
ich hab schon ne alternativlösung gefunden, die funktionier zwar mit der foreach schleife bringt aber ne warnung, aber mit ner for schleife drumrum und den althergebrachten zählvariablen klappt es
Posts: 531
Threads: 20
Joined: May 2008
Reputation:
15
hab wiedermal ein problem, ich bekomme in eine Script immer diese Fehlermeldung.
2014 -> Commands out of sync; you can't run this command now
Ich habe das Problem bei einem ganz normalen SQL Zugriff (über das MYSQLi Objekt), in dem Script werden einige Abfragen gemacht und nach der 3 und ab da bei Jeder Abfrage kommt dieser error. Die SQL Anweisung ist richtig, wenn ich diese von Hand im phpmyadmin eingebe wid die Anweisung problemlos ausgeführt.
Auch wenn ich es über ein Prepared Statement versuche kommt die gleiche meldung.
|