Kodowanie znaków w bazie danych

Kodowanie znaków w bazie danych
T9
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Rzeszów
  • Postów: 108
0

Witam,
Pobieram sobie z API nazwy drużyn piłkarskich, podczas pobierania wszystkie znaki w nazwach wyświetlają się poprawnie natomiast gdy zapakuje je do bazy danych to wysypują się np. zamiast Górnik Zabrze jest 'Górnik Zabrze', zamiast Wisła Kraków jest 'WisÅ‚a Kraków' itp. Pokończyły mi się pomysły co to może być. Zmieniałem już kodowanie w bazie, w tabelach, używałem funkcji iconv(). Baza musi mieć kodowanie, że tak to ujmę ogólne bo nie mam w niej tylko drużyn polskich ale są i portugalskie, brazylijskie itp.

Baza ma kodowanie utf8_general_ci
Kolumny 'od nazw' varchar(255) utf8_general_ci
W funkcji iconv() koduje z ISO-8859-2 na UTF-8 lecz nie jestem pewny, czy dane w API są w ISO-8859-2(nigdzie nie mogę znaleźć o tym info).
API: http://livescore-api.com/documentation/reference

Miang
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1793
1

przetestuj czy poprawnie zapisze Ci string którego nie pobierasz z api

T9
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Rzeszów
  • Postów: 108
0

@Miang: Jest to zapytanie, w którym podstawiam zmienne w odpowiednie pola:

Kopiuj
			$id = $data->data->fixtures[$i]->id;
			$league_id = $data->data->fixtures[$i]->league_id;
			$team1 = utf8_encode($data->data->fixtures[$i]->home_name);
			$team2 = utf8_encode($data->data->fixtures[$i]->away_name);
			$date = $data->data->fixtures[$i]->date;
			$hour = $data->data->fixtures[$i]->time;
			
			$query = $conn->query("INSERT INTO `matches`(`id`,`id_competitions`,`team1`,`team2`,`date`,`hour`) VALUES(".$id.",".$league_id.",'".$team1."','".$team2 ."','".$date."','".$hour."'); ");		
			

To wina tego, że zamiast ` jest ' ? :O

Miang
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1793

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.