![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 10.05.2016 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Mam baze danych MySQL testdb. Posiadam 2 serwery, oba uzywaja tej samej bazy danych w sensie ten sam IP bazy danych etc - doslownie ta sama baza danych. Na pierwszym serwerze (PHP 5.4) polskie znaki wyciagane z MySQL wyswietlaja sie dobrze. Na drugim (PHP 7) (ktory uzywa tej samej bazy), polskie znaki wyciagane z MySQL sa tzw. krzakami. Na obu serwerach polskie znaki w statycznym tekscie w plikach php sa wyswietlane OK. Na drugim serwerze probowalem wszystkich opcji: Kod 'SET CHARACTER_SET utf8_unicode_ci' "SET CHARSET utf8" "SET NAMES `utf8` COLLATE `utf8_polish_ci` mysqli_set_charset($conn, "utf8"); Uzywa mysqli. Dzieki z gory za pomysly! ;-) Wow. Linijka: Kod var_dump(mysqli_get_charset($conn)); Gdzie conn jest mysqli instance. Server 1 daje: Kod object(stdClass)#3 (8) { ["charset"]=> string(6) "latin1" ["collation"]=> string(17) "latin1_swedish_ci" Server 2 daje: Kod object(stdClass)#2 (8) { ["charset"]=> string(4) "utf8" ["collation"]=> string(15) "utf8_general_ci" Na server 2 dodalem po laczeniu do db: Kod mysqli_set_charset($conn, "latin1"); Teraz server 2 var_dump na mysqli_get_charset pokazuje tak jak na server 1. Kod object(stdClass)#2 (8) { ["charset"]=> string(6) "latin1" ["collation"]=> string(17) "latin1_swedish_ci" I teraz polskie znaki sie wyswietlaja....... dziwne i niewarygodne przygody...... Takto ogolnie: HTML Header jest taki: Kod <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> Wszystkie tabele CREATE TABLE skrypty maja Kod DEFAULT CHARSET=utf8 Deklaracja tworzenia bazy danych z backupu jest Kod CREATE DATABASE `testdb` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
Ten post edytował jankomuzykant 11.05.2016, 11:45:01
Powód edycji: [nospor]:
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 03:59 |