Hallo,
ich habe folgenes Problem. Ich habe zwei von der Struktur identische Datenbanken, beide utf8-unicode. Nun will ich de Änderungen des letzten Tages von der einen in die andere Datenbank übertragen.
In der 2. Datenbank kommen aber nur ???? an.
Hier der Code-Auszug für eine der Tabellen:
Zu Debugzwecken habe ich mir den SQL-String ausgeben lassen, da ist alles noch in Ordnung.
INSERT IGNORE INTO tbl_translation (id,item_language,item_key,item_value) VALUE ("938","08","abwicklungsinformation","Информаци я по оформлению ");
ich habe folgenes Problem. Ich habe zwei von der Struktur identische Datenbanken, beide utf8-unicode. Nun will ich de Änderungen des letzten Tages von der einen in die andere Datenbank übertragen.
In der 2. Datenbank kommen aber nur ???? an.
Hier der Code-Auszug für eine der Tabellen:
Zu Debugzwecken habe ich mir den SQL-String ausgeben lassen, da ist alles noch in Ordnung.
INSERT IGNORE INTO tbl_translation (id,item_language,item_key,item_value) VALUE ("938","08","abwicklungsinformation","Информаци я по оформлению ");
PHP-Code:
<?php
mysql_db_query($dbNameLokal,"SET NAMES 'utf8'");
mysql_db_query($dbNameLokal,"SET CHARACTER SET 'utf8'");
// Daten aud der 1. Datenbank holen und in ein Array packen
$sqlstr = "SELECT * FROM tbl_translation WHERE DATE(aktualisiert_am) = '".date('Y-m-d')."';";
$result = mysql_db_query($dbNameLokal,$sqlstr);
if ($result)
{
$translationArray = array();
while ($line = mysql_fetch_array($result))
{
array_push($translationArray,$line);
}
}
unset($result);
mysql_db_query($dbNameInternet,"SET NAMES 'utf8'");
mysql_db_query($dbNameInternet,"SET CHARACTER SET 'utf8'");
// Daten aus dem Array auslesen und in die 2. Datenbank schreiben
foreach ($translationArray as $translation)
{
// Prüfen ob Eintrag schon vorhanden ist, wenn ja update sonst insert
$sqlstr2 = 'SELECT * FROM tbl_translation WHERE id="'.$translation[0].'";';
$result2 = mysql_db_query($dbNameInternet,$sqlstr2);
if (mysql_num_rows($result2)>0)
{
unset($result2);
$sqlstr2 = 'UPDATE tbl_translation SET item_language="'.$translation[3].'", item_key="'.$translation[4].'", item_value="'.$translation[5].'" WHERE id ="'.$translation[0].'";';
echo "<br>".$sqlstr2;
$result2 = mysql_db_query($dbNameInternet,$sqlstr2);
$anzTranslationUpdate++;
}
else
{
$sqlstr2 ='INSERT IGNORE INTO tbl_translation (id,item_language,item_key,item_value) VALUE ("'.$translation[0].'","'.$translation[3].'","'.$translation[4].'","'.$translation[5].'");';
echo "<br>".$sqlstr2;
$result2 = mysql_db_query($dbNameInternet,$sqlstr2);
$anzTranslationInsert++;
}
unset($result2);
if (mysql_error())
echo mysql_error()." ".$sqlstr2." <br>";
}
unset($result2);
?>
Kommentar