MySQL INSERT INTO fügt nur Teil eines strings ein

Hallo zusammen,

ich versuche ein parr hunder Datenbanksätze aus einer CSV mittels php-Script in eine MySQL DB zu laden. Allerdings fügt dieses Skript teilweise nur den ersten Buchstaben des strings in die Spalte „location“. Hat jemand eine Idee, woran das liegen könnte?

Datenbanktabelle:
Name: locations

Spalte 1: prefix (varchar(3))
Spalte 2: location_code (carchar(10))
Spalte 3: level (varchar(9))
spalte 4: language (varchar(2))
Spalte 5: location (varchar(256))

csv (Ausschnitt)

„BE“,„Fr“,„Belgique“
„BE1“,„Fr“,„Région De Bruxelles“
„BE10“,„Fr“,„Région De Bruxelles“
„BE100“,„Fr“,„De Bruxelles-Capitale“

php-skript:

$conn = mysql_connect(„127.0.0.1“, „root“, „“);
$db_select = mysql_select_db(„sun-villa“, $conn);
mysql_set_charset(‚utf8‘);

if (($handle = fopen("…/nuts.csv", „r“)) !== FALSE) {
while (($data = fgetcsv($handle, 1000, „,“)) !== FALSE) // jede Zeile der CSV in ein Array geladen
{
if(strlen($data[0]) == 2) {$data[3] = „country“;}
if(strlen($data[0]) == 3) {$data[3] = „region“;}
if(strlen($data[0]) == 4) {$data[3] = „subregion“;}
if(strlen($data[0]) == 5) {$data[3] = „area“;}
$data[2] = strtolower($data[2]); $data[2] = ucfirst($data[2]);
echo $data[0]." „.$data[3]. " „.$data[1].“ „.$data[2].“
„;
mysql_query(„INSERT INTO locations (location_code, level, language, location) VALUES (’“.$data[0].“’, '“.$data[3]."’, ‚".$data[1]."‘, ‚".$data[2]."‘)");
}
fclose($handle);
}

Im Skript lade ich alle Einträge in ein Array, kreiere den Wert für die Spalte „level“, lade es in die DB und lasse mir jeden array-Eintrag auf dem Bidschirm ausgeben. Die Ausgabe gibt auch jeweils den gesamten string für die Spalte „location“ an. In der DB erscheint dann aber teilweise nur ein Buchstabe.
Das Problem liegt also wahrscheinlich nicht im Skript, sondern in der Datenbank, bzw. der Konfiguration der Tabelle (???)

mfg,
David

Hab die Lösung gefunden:

Meine CSV war nicht utf-8-codiert.
=> Alle Einträge, die Sonderzeichen hatten (é, ä, ß, …) wurden vor diesem Zeichen gekappt.

ERLEDIGT!