Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Brauche Hilfe bei den Weltdaten von DS
#1
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.
Reply
#2
urldecode() anstatt urlencode() verwenden Wink
Reply
#3
wenn Bund+der+H%C3%B6lle ich durch die urldecode Funktion schicke kommt das raus -> Bund der Hölle
Reply
#4
Dann mal bitte in den head-Bereich der Datei folgendes schreiben:

Code:
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
Reply
#5
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.
Reply
#6
versuch doch mal Bund+der+H&ouml;lle aus. kenn mich zwar net so mit aus aber probieren schadet nicht oder?
Reply
#7
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;

Reply
#8
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
Reply
#9
Wie wärs mit

PHP Code:
// name convertierung
$name utf8_decode(urldecode($original_name)); 

- enjoy
Reply
#10
(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.
Reply
#11
(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:

PHP Code:
var_dump($code_array); 

Und poste die ausgabe hier
Reply
#12
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
Reply
#13
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.
Reply




Users browsing this thread: 1 Guest(s)