Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][SQL][PHP]Przenoszenie danych z bazy
Forum PHP.pl > Forum > Przedszkole
Less
Witam,
mam taki problem,

udało mi się zrobić z pdfa plik exela, a potem z tego przy pomocy makr zrobiłem tablicę 2 wymiarową dla php i z niej przy pomocy pętli i sql wrzucam dane do bazy, ale...

teksty w tablicy mają odpowiednie znaki: ł, ą, a te wrzucone za pomocą SQL już nie, mają l i a...


nie to to mi chodziło,

co trzeba zrobić, aby i w bazie były polskie znaki?

baza jest komercyjna... kod php piszę w Dreamweavarze...
emstawicki
Należy ustawić takie samo kodowanie danych wejściowych, skryptu oraz bazy danych. Najlepiej utf-8.
Less
Cytat(emstawicki @ 21.06.2016, 12:11:59 ) *
Należy ustawić takie samo kodowanie danych wejściowych, skryptu oraz bazy danych. Najlepiej utf-8.


Ok.
W bazie jest: utf8_general_ci

W Dreamweavarze (gdzie mam skrypt) ustawiłem UTF-8 i (a że to ustawienie tego nie zrobiło, może dlatego, że nie miałem w krypcie znaczników html, zrobiłem wpis:
  1. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">


to nie pomogło, wyszły "krzaczki", więc potem użyłem funkcji:
  1. $tekst = iconv('Windows-1252', 'UTF-8', $teksty[$i][1]);


w skrypcie, 'Windows-1252' bo skopiowane było z Exela...

i po tych zabiegach wyszły inne krzaczki...

co robię nie tak?

Nadal jest złe kodowanie, czego, jak sprawdzić jakie, jak je zminić i co zmienić? Ratunku smile.gif
viking
Przy połączeniu z bazą SET NAMES ...
Less
Cytat(viking @ 22.06.2016, 10:13:41 ) *
Przy połączeniu z bazą SET NAMES ...


Dzięki.
Widzę kilka metod...

czy tak:

metoda 1:
  1. $pol1 = mysql_connect($host1, $user1, $pass1) or
  2. die('Nie można się połączyć');
  3. mysql_set_charset('utf8', $pol1);



metoda 2:
  1. mysql_query("SET character_set_results = 'utf8', character_set_client = 'utf8', character_set_connection = 'utf8', character_set_database = 'utf8', character_set_server = 'utf8'", $conn);


Metoda 3:
  1. $mysqli = mysqli_connect( ... );
  2. mysqli_query( $mysqli, 'SET NAMES "utf8" COLLATE "utf8_general_ci"' );


?
viking
Tak, oprócz tego że nie powinieneś używać mysql tylko mysqli albo pdo.
Less
Cytat(viking @ 22.06.2016, 10:32:05 ) *
Tak, oprócz tego że nie powinieneś używać mysql tylko mysqli albo pdo.


czyli metoda 1. hm... dzieki, poczytam, co to...
viking
Masz wytłumaczone dlaczego http://php.net/manual/pl/mysqlinfo.concepts.charset.php
Metoda 1 ale z mysqli.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.