• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Import CSV do MYsql - Brak polskich znaków

VPS Starter Arubacloud
0 głosów
1,466 wizyt
pytanie zadane 16 marca 2018 w PHP przez hiper007 Stary wyjadacz (11,270 p.)

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.

1 odpowiedź

0 głosów
odpowiedź 16 marca 2018 przez KoruS Obywatel (1,630 p.)
mysqli_query(var_connect, "SET CHARSET utf8");

mysqli_query(var_connect, "SET NAMES 'utf8' COLLATE 'utf8_polish_ci'" );

 

LUB

 

header("Content-type: application/vnd.ms-excel; charset=utf-8");
komentarz 19 marca 2018 przez hiper007 Stary wyjadacz (11,270 p.)

Nie działa niestety... ciągle do bazy dostaje się jakieś dziwne znaczki, ale nie polskie znaki ;)

Podobne pytania

0 głosów
1 odpowiedź 3,370 wizyt
pytanie zadane 22 lutego 2018 w PHP przez hiper007 Stary wyjadacz (11,270 p.)
0 głosów
1 odpowiedź 2,972 wizyt
pytanie zadane 2 stycznia 2021 w SQL, bazy danych przez bulgotnik86 Gaduła (3,040 p.)
0 głosów
1 odpowiedź 131 wizyt
pytanie zadane 14 listopada 2022 w PHP przez zbiku25 Gaduła (3,000 p.)

92,975 zapytań

141,938 odpowiedzi

321,181 komentarzy

62,302 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...