Mam pytanko ;)
Importuje plik csv do bazy danych:
if(isset($_POST["Import"]))
{
require_once "connect.php";
if (!$polaczenie = mysql_connect($host,$db_login,$db_pass,$db_name)) {
echo 'Nie można nawiązać połączenia z bazą danych';
exit;
}else
{
if (!mysql_select_db('awizacja', $polaczenie)) {
echo 'Nie można wybrać bazy danych';
exit;
}
$kodowanie=mysql_query('SET NAMES \'utf8\'');
$login=$_SESSION['login'];
$data_mod=date("d-m-Y H:i:s");
$zadanie='Import';
$id_awizacja='Brak';
$licznik=0;
$ip = $_SERVER['REMOTE_ADDR'];
$host_name = gethostbyaddr($_SERVER['REMOTE_ADDR']);
$host_name2 = substr($host_name, 0, strpos($host_name, "."));
echo $filename=$_FILES["file"]["tmp_name"];
if($_FILES["file"]["size"] > 0)
{
$file = fopen($filename, "r");
while (($emapData = fgetcsv($file, 10000, ";")) !== FALSE)
{
$sql = "INSERT into appt (awizacja,data_awizacja,godz_awiz,godz_pod,zamowienie,nazwa,kanal,spedycja,linii,palety,kartony,rampa,komentarz,artykul,il_zamowien,nr_naczepy,tel_kierowcy,status,color,color2,kod) values ('$emapData[0]','$emapData[1]','$emapData[2]','$emapData[3]','$emapData[4]','$emapData[5]','$emapData[6]','$emapData[7]','$emapData[8]','$emapData[9]','$emapData[10]','$emapData[11]','$emapData[12]','$emapData[13]','$emapData[14]','$emapData[15]','$emapData[16]','$emapData[17]','$emapData[18]','$emapData[19]','$emapData[20]')";
mysql_query($sql);
}
fclose($file);
}else
{
$_SESSION['plikerr']="Wybierz plik o rozszerzeniu (.csv)";
require_once "header.php";
exit();
}
mysql_close($polaczenie);
}
}
Wszystko się ładnie importuje, problem występuje z polskimi znakami. Jak występują polskie znaki to ucina słowo np. "Kawą" to wyświetla "Kaw". Ustawienie w Notepadzie jest na UTF-8 bez BOM. i mimo wszystko brakuje polskich znaków. Cała baza jest w kodowaniu utf8_polish_ci. Gdzie może być problem?? Plik CSV jest kodowany Unicode (UTF-8). Już totalnie nie mam pomysłu.. Z góry dzięki.