Hallo,
ich habe keine Ahnung, ob ich hier mit meinem Problem richtig bin. Ggf. bitte ins richtige Forum verschieben.
Die Umlaute (���� etc.) werden nicht korrekt in die DB geschrieben, obwohl sie im Browser und in meiner SQL-Insert Anweisung korrekt drin stehen.
Zun�chst mal ein paar technische Daten:
-- version 2.6.0-rc2
-- http://www.phpmyadmin.net
-- Host: localhost
-- Server Version: 4.1.10
-- PHP-Version: 5.0.3
-- Apache 2
-- SuSE 9.3
Ich habe folgende Tabelle in MySQL erstellt:
CREATE TABLE `daten` (
`id` int(11) NOT NULL auto_increment,
`name` varchar(255) NOT NULL default '',
`link` varchar(255) NOT NULL default '',
`bild` varchar(255) NOT NULL default '',
`timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
KEY `id` (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=9645 ;
Nun habe ich ein xml-File, welches ich so (PHP5) aufrufe:
<?php
...
$xml = simplexml_load_file($file);
foreach ($xml as $key => $var) {
echo $var->name;
...etc...
}
?>
Im Browser werden die Umlaute korrekt angezeigt. In der xml-Datei selbst mit vi oder so �brigens auch.
Dann baue ich mein SQL zusammen:
<?php
$sql = "INSERT into `daten` (id, name, link, bild) VALUES ('', $var->name, $var->link....);
?>
Ein echo $sql gibt mir den Insert samt korrekter Umlaute im Browser aus. Nur wird es fehlerhaft in die DB geschrieben.
Kopiere ich die Ausgabe von echo $sql in phpMyAdmin oder auch via Konsole, werden die Umlaute korrekt in die DB geschrieben.
Hat jemand eine Idee woran das liegen k�nnte?
Danke schonmal.
ich habe keine Ahnung, ob ich hier mit meinem Problem richtig bin. Ggf. bitte ins richtige Forum verschieben.
Die Umlaute (���� etc.) werden nicht korrekt in die DB geschrieben, obwohl sie im Browser und in meiner SQL-Insert Anweisung korrekt drin stehen.
Zun�chst mal ein paar technische Daten:
-- version 2.6.0-rc2
-- http://www.phpmyadmin.net
-- Host: localhost
-- Server Version: 4.1.10
-- PHP-Version: 5.0.3
-- Apache 2
-- SuSE 9.3
Ich habe folgende Tabelle in MySQL erstellt:
CREATE TABLE `daten` (
`id` int(11) NOT NULL auto_increment,
`name` varchar(255) NOT NULL default '',
`link` varchar(255) NOT NULL default '',
`bild` varchar(255) NOT NULL default '',
`timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
KEY `id` (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=9645 ;
Nun habe ich ein xml-File, welches ich so (PHP5) aufrufe:
<?php
...
$xml = simplexml_load_file($file);
foreach ($xml as $key => $var) {
echo $var->name;
...etc...
}
?>
Im Browser werden die Umlaute korrekt angezeigt. In der xml-Datei selbst mit vi oder so �brigens auch.
Dann baue ich mein SQL zusammen:
<?php
$sql = "INSERT into `daten` (id, name, link, bild) VALUES ('', $var->name, $var->link....);
?>
Ein echo $sql gibt mir den Insert samt korrekter Umlaute im Browser aus. Nur wird es fehlerhaft in die DB geschrieben.
Kopiere ich die Ausgabe von echo $sql in phpMyAdmin oder auch via Konsole, werden die Umlaute korrekt in die DB geschrieben.
Hat jemand eine Idee woran das liegen k�nnte?
Danke schonmal.
Kommentar