php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > SQL / Datenbanken
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


SQL / Datenbanken Probleme mit SQL? Hier könnt ihr eure Fragen zu SQL (MySQL, PostgreSQL, MS-SQL und andere ANSI-SQL Server) los werden.

Antwort
 
LinkBack Themen-Optionen Bewertung: Bewertung: 1 Stimmen, 5,00 durchschnittlich.
  #1 (permalink)  
Alt 21-01-2011, 13:19
Vampir20
 Registrierter Benutzer
Links : Onlinestatus : Vampir20 ist offline
Registriert seit: Mar 2003
Beiträge: 22
Vampir20 ist zur Zeit noch ein unbeschriebenes Blatt
Standard Umlaute richtig importiren

Hallo,
Ich hoffe ich bin hier im MYSQL Forum richtig.

Habe mir eine Statistikseite zu einem Spiel gebastelt.
Die Daten bekomme ich als TXT-Datei vom Spieleserver. In der TXT sind leider alle umlaute falsch codiert.

Z.B.
in der TXT:k%C3%A4mpfer+ronny
Im Spiel: kämpfer ronny

wie man sieht, ist ä = %C3%A4
und Leerzeichen = +

Bisher habe ich mir die Datei auf den Rechner gezogen und durch die Wordfunktion "suchen & ersetzen" bearbeitet und in meine DB hochgeladen.

Da dies auf Dauer viel Arbeit mit sich bringt, habe ich mir ein php Scrip gebastelt, das ich als Cronjob laufen lassen will. Der Import geht ohne Probleme, allerdings hab ich noch die Probleme mit den Umlauten.

Gibt es eine Möglichkeit, diese nach/werend dem Import automatisch umzuwandeln?
Mit Zitat antworten
  #2 (permalink)  
Alt 21-01-2011, 13:25
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.578
h3ll befindet sich auf einem aufstrebenden Ast
Standard

PHP: urldecode - Manual
Mit Zitat antworten
  #3 (permalink)  
Alt 21-01-2011, 14:15
Vampir20
 Registrierter Benutzer
Links : Onlinestatus : Vampir20 ist offline
Registriert seit: Mar 2003
Beiträge: 22
Vampir20 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

danke
das mit den + als Leerzeichen hab ich hinbekommen.
Die geschichte mit den Umlauten will aber leider immer noch nicht.
Mit Zitat antworten
  #4 (permalink)  
Alt 21-01-2011, 14:21
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.578
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Bei der Fehlerbeschreibung kann man nicht helfen.
Mit Zitat antworten
  #5 (permalink)  
Alt 21-01-2011, 14:36
Vampir20
 Registrierter Benutzer
Links : Onlinestatus : Vampir20 ist offline
Registriert seit: Mar 2003
Beiträge: 22
Vampir20 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ich ziehe mir eine txt-datei von einem fremden server

so eine z.B.
Code:
556276,Syri,,175,7339,1
639506,crazyboy220498,7305,2133,3773,1
352126,k%C3%A4mpfer+ronny,6947,2414,3603,1
diese TXT-datei ziehe ich mir in meine DB
Geht auch soweit.

Wenn du dir jetzt mal den letzten datensatz in meinem beispiel anschaust, steht da:
352126,k%C3%A4mpfer+ronny,6947,2414,3603,1

Der datensatz soll in die DB wie folgend eingetragen werden
352126,kämpfer ronny,6947,2414,3603,1


mit hilfe deines ersten beitrags bin ich jetzt soweit, das es wie folgend aussieht:
352126,k%C3%A4mpfer ronny,6947,2414,3603,1


Ich möchte das automatisch %C3%A4 in Ä umgewandelt wird.
Mit Zitat antworten
  #6 (permalink)  
Alt 21-01-2011, 14:56
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.578
h3ll befindet sich auf einem aufstrebenden Ast
Standard

PHP-Code:
echo urldecode('k%C3%A4mpfer+ronny');
// kämpfer ronny 
Mit Zitat antworten
  #7 (permalink)  
Alt 21-01-2011, 15:04
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Hallo,

das ist URL-codiertes UTF-8. Wenn deine Datenbank auch auf UTF-8 läuft, funktioniert das auch. Wenn nicht, musst du den String nach urldecode noch in den Zeichensatz der DB umwandeln. Es wäre aber besser, die DB gleich auf UTF-8 einzustellen, alles andere wäre Blödsinn.

Gruß,

Amica
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!
Mit Zitat antworten
  #8 (permalink)  
Alt 21-01-2011, 15:13
Vampir20
 Registrierter Benutzer
Links : Onlinestatus : Vampir20 ist offline
Registriert seit: Mar 2003
Beiträge: 22
Vampir20 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

kämpfer ronny

so sieht meine ausgabe aus
Mit Zitat antworten
  #9 (permalink)  
Alt 21-01-2011, 15:15
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.578
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Es muss alles auf UTF-8 gestellt werden. Auch die Ausgabe.
Mit Zitat antworten
  #10 (permalink)  
Alt 21-01-2011, 15:18
Vampir20
 Registrierter Benutzer
Links : Onlinestatus : Vampir20 ist offline
Registriert seit: Mar 2003
Beiträge: 22
Vampir20 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Zitat von AmicaNoctis Beitrag anzeigen
Hallo,

das ist URL-codiertes UTF-8. Wenn deine Datenbank auch auf UTF-8 läuft, funktioniert das auch. Wenn nicht, musst du den String nach urldecode noch in den Zeichensatz der DB umwandeln. Es wäre aber besser, die DB gleich auf UTF-8 einzustellen, alles andere wäre Blödsinn.

Gruß,

Amica
utf8_general_ci ist standart bei mit.
Was auf dem Gamesserver läuft kann ich nicht sagen und auch nicht ändern
Mit Zitat antworten
  #11 (permalink)  
Alt 21-01-2011, 15:33
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.578
h3ll befindet sich auf einem aufstrebenden Ast
Standard

PHP: iconv - Manual
Mit Zitat antworten
  #12 (permalink)  
Alt 21-01-2011, 15:49
Vampir20
 Registrierter Benutzer
Links : Onlinestatus : Vampir20 ist offline
Registriert seit: Mar 2003
Beiträge: 22
Vampir20 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

supi

jetzt läuft es perfekt.
ich danke dir h3ll
Mit Zitat antworten
  #13 (permalink)  
Alt 21-01-2011, 18:58
Vampir20
 Registrierter Benutzer
Links : Onlinestatus : Vampir20 ist offline
Registriert seit: Mar 2003
Beiträge: 22
Vampir20 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

habe doch noch ein problem.
wenn ich die Daten über phpmyadmin einlese werden mir alle daten eingelsen.
Wenn ich mein script laufen lasse, läst er datensätze aus.
Ein timeout vermute ich nicht, da ich es auch mit veruschsweisse mit wenigen datensätzen versucht habe und das gleich ergebniss erhielt.
Da ich noch ein anfänger bin, bitte ich euch mal eon blick auf mein code zu werfen.
Hab ich wo ein fehler oder könnte es besser machen?

PHP-Code:
$filearray fopen ("http://de8.grepolis.com/data/players.txt","r"); 
while (
$data fgetcsv ($filearray",")) {
$line fgets($filearray);
list(
$id$name$alliance_id$points$rank$towns) = explode(','$line);
$name1=urldecode($name);

$db->query("INSERT INTO players SET id='$id', name='".iconv("UTF-8""ISO-8859-1"$name1)."', alliance_id='$alliance_id', points='$points', rank='$rank', towns='$towns'");

}
fclose ($filearray);
    

echo 
"Alle Player Erfogreich eingetragen"
Mit Zitat antworten
  #14 (permalink)  
Alt 21-01-2011, 19:54
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.578
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Hier fehlt das SQL-Escaping.

Warum verwendest du iconv() für Werte, die du in die Datenbank schreibst? Warum nicht einfach die Datenbankverbindung selber auf UTF-8 stellen?
Mit Zitat antworten
  #15 (permalink)  
Alt 21-01-2011, 20:12
Vampir20
 Registrierter Benutzer
Links : Onlinestatus : Vampir20 ist offline
Registriert seit: Mar 2003
Beiträge: 22
Vampir20 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Zitat von h3ll Beitrag anzeigen
Hier fehlt das SQL-Escaping.
Komm nicht drauf, wie du das meins.
Sorry bin noch anfänger.


Zitat:
Zitat von h3ll Beitrag anzeigen
Warum verwendest du iconv() für Werte, die du in die Datenbank schreibst? Warum nicht einfach die Datenbankverbindung selber auf UTF-8 stellen?
Habe alles auf UTF-8, hat es aber ohne nicht angenommen
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[gelöst] Umlaute werden nicht richtig dagestellt mevis PHP Developer Forum 5 04-11-2009 09:28
[Regex-Schnorr] Uppercase-Umlaute richtig ersetzen pekka Apps und PHP Script Gesuche 2 05-01-2009 21:07
DB umlaute in script richtig darstellen speedway2002 PHP Developer Forum 18 30-09-2007 17:49
Umlaute nach speichern in .dat wieder RICHTIG ausgeben fx001 PHP Developer Forum 4 12-12-2006 20:47
Umlaute in richtig umwandeln schnikemike PHP Developer Forum 3 27-11-2006 13:47

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 14:24 Uhr.