Mailinglisten-Archive |
Am 16.01.2006 01:03 erhielt ich diese mail von Norbert Pfeiffer:
hallo Norbert.
> was steht denn dann in der Feile.
$newfile_ ="öüäabc";
$fp = fopen ($path."0.$filetype","w");
fputs ($fp,$newfile);
fclose ($fp);
Kommt tatsächlich so in der 0.txt an..
Ich beziehe die Daten von einem längeren script, welches die db
ausliest. Wenn ich den output per
echo $newfile = export_database("usr_web1_1");
auf den Browser kippe
sieht man u.a.
INSERT INTO test ( id, text )
VALUES ( 1, "öööüüävfgdfgdf" );
INSERT INTO test ( id, text )
VALUES ( 2, "gfgdfgdfßßßßääöö" );
Wenn ich dann $newfile in die Datei schreiben will, keine Umlaute mehr
Hoffe wird jetzt klarer wo mein Problem liegt.
Gruß
Werner
ich hänge die function mal an..
---------------
function export_database($db, $tables_input = false, $break = "\n")
{
// MySQL Datenbank auswhlen
mysql_select_db($db) OR die("Fehler beim Auswhlen der Datenbank:
".mysql_error());
// Parameter fr Zeilenumbruch kontrollieren, wenn ungltig auf \n setzen
$break = ($break == "\n" OR $break == "\r\n" OR $break == "\r") ?
$break : "\n";
// Ausgabestring für den Datenbank Dump initialisieren mit einer ersten
Kommentarzeile
$exportstring = "-- --$break";
// Array fr alle zu exportierenden Tabellen initialisieren
// Jeder Wert in diesem Array wird spter als Tabellennamen aufgefasst
und es wird
// versucht einen MySQL DUMP dieser Tabelle zu erstellen
$tables = array();
// Wenn fr $tables_input ein Array bergeben wurde die Kopfzeile fr
einen indivi-
// duellen Datenbankexport erzeugen und alle Eintrge aus dem Array in
das Tabellen-
// array kopieren, sodass nur die im Array bergebenen Tabellen
exportiert werden
if(is_array($tables_input))
{
$tables = $tables_input;
$exportstring .= "-- INDIVIDUAL DATABASE EXPORT --$break";
}
// Ansonsten, wenn $tables_input ein einfacher String ist, diesen als
eine Tabelle
// auffassen und nur diese eine Tabelle exportieren, als Single
Database Export
elseif(!is_array($tables_input) AND $tables_input)
{
$tables[0] = $tables_input;
$exportstring .= "-- SINGLE DATABASE EXPORT --$break";
}
// Wurde der Parameter $tables_input gar nicht mit bergeben oder ist
dieser False, so
// wird per get_tables() herausgefunden welche Tabellen alle existieren
und es werden
// alle Tabellen exportiert => Full Database Export
else
{
$tables = get_tables($db);
$exportstring .= "-- FULL DATABASE EXPORT --$break";
}
// In den Ausgabestring die Kopfzeilen schreiben, welche den Namen der
Datenbank in
// der die Tabellen liegen, das Datum zu dem der Dump erzeugt wurde
sowie den Typ des
// Exports (s.o.) enthlt
$exportstring .= "-- -----------------------------------$break";
$exportstring .= "-- Database: ".$db.str_repeat(" ",23 -
strlen($db))."--$break";
$exportstring .= "-- Build: ".date("d.m.Y, H:i")." --$break";
$exportstring .= "-- -----------------------------------$break$break";
// Gehe alle Tabellen in $tables durch und exportiere nacheinander von
jeder Tabelle
// die Struktur, sowie die Daten.
foreach($tables as $table)
{
$exportstring .= "-- Table: $table$break";
$exportstring .= "-- -----------------------------------$break";
$exportstring .= export_table_structure($db, $table, true, $break);
$exportstring .= export_table_data($db, $table, false, $break);
$exportstring .= "$break";
}
// Füge dem Exportstring noch ein Ende Kennzeichen hinzu...
$exportstring .= "-- -----------------------------------$break";
$exportstring .= "-- Export End --$break";
$exportstring .= "-- -----------------------------------$break";
// ...und liefere den kompletten String zurck.
return $exportstring;
}
--
WebAgentur | Werner Laude
Lindenburger Allee 22 | 50931 Köln
fon 0221.8805 635
fax auf Anfrage
------------------------------------------
http://www.laude.biz
php::bar PHP Wiki - Listenarchive