• 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

Object Storage Arubacloud
0 głosów
1,397 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,195 wizyt
pytanie zadane 22 lutego 2018 w PHP przez hiper007 Stary wyjadacz (11,270 p.)
0 głosów
1 odpowiedź 2,668 wizyt
pytanie zadane 2 stycznia 2021 w SQL, bazy danych przez bulgotnik86 Gaduła (3,040 p.)
0 głosów
1 odpowiedź 116 wizyt
pytanie zadane 14 listopada 2022 w PHP przez zbiku25 Bywalec (2,940 p.)

92,570 zapytań

141,422 odpowiedzi

319,643 komentarzy

61,958 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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...