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

Zamiast polskich znaków powstają pytajniki.

+3 głosów
12,475 wizyt
pytanie zadane 8 kwietnia 2015 w HTML i CSS przez Rakso Użytkownik (560 p.)
edycja 8 kwietnia 2015 przez Rakso

Witam

Zamiast polskich znaków powstają pytajniki.Informacja pobrana z bazy danych jest podkreślona na czerwono

Baza danych:

 W Notepadzie++  kodowanie ustawione na UTF-8 (bez BOM)  oarz w plikach jest wstawiona linijka   <meta charset="utf-8"/>.

Na innych przeglądarkach jest to samo.

Pozdrawiam
Rakso

10 odpowiedzi

+2 głosów
odpowiedź 8 kwietnia 2015 przez darek_kce Gaduła (3,180 p.)

Możesz spróbować w pliku w którym sią łączysz dodać taki kod (powinien pomóc):
 

mysqli_set_charset($nazwa_polaczenia_mysqli, 'utf-8');

 

komentarz 8 kwietnia 2015 przez Rakso Użytkownik (560 p.)
mysqli_set_charset($polaczenie = @new mysqli($host, $db_user, $db_password,$db_name), 'utf-8');

tak to ma wyglądać?

komentarz 8 kwietnia 2015 przez darek_kce Gaduła (3,180 p.)

Jeżeli korzystasz z obiektowego rozwiązania, to w tym konkretnym wypadku możesz napisać:

$polaczenie = new mysqli($host, itd);
$polaczenie->set_charset("utf-8");

 

komentarz 8 kwietnia 2015 przez Rakso Użytkownik (560 p.)

nwm juz co jest grane wklem cały kod odnośnie połączenia z bazą danych

<?php

	session_start();

	require_once "connect.php";
	$polaczenie = new mysqli($host, $db_user, $db_password,$db_name);
	$polaczenie->set_charset("utf-8");
	
	if($polaczenie->connect_errno!=0)
	{
		echo "Error".$polaczenie->connect_errno;
	}
	else
	{
		
		srand(time(NULL));
		$wylosowana=rand()%8+1;
		$sql="SELECT * FROM test WHERE id=$wylosowana";

		if($rezultat = @$polaczenie->query($sql))
		{
		
			
			$wiersz =$rezultat->fetch_assoc();
			$_SESSION['sa'] = $wiersz['angielski'];
			$_SESSION['sp'] = $wiersz['polski'];
			$_SESSION['id'] = $wiersz['id'];	
			
			
			$rezultat->free_result();
			header('Location: test.php');
			
		}
		
		
		
		$polaczenie->close();
	}
?>

 

komentarz 8 kwietnia 2015 przez darek_kce Gaduła (3,180 p.)
edycja 8 kwietnia 2015 przez darek_kce

Nie do końca rozumiem - działa teraz czy nie?

Jeśli to ostatnim pomysłem jaki przychodzi mi do głowy do tego kodu, który podałeś, po linijce  z session_start();, dodaj:

header('Content-Type: text/html; charset=utf-8');

Poza tym, PHP to nie C++, więc nie potrzeba linijki:

srand(time(NULL));

, a linijke z

$wylosowana = rand()%8 + 1;

, można zastąpić:

$sylosowana = rand(1,8);

 

komentarz 8 kwietnia 2015 przez Rakso Użytkownik (560 p.)
powyższy kod nadal wyslatla pytaniki zamiast polskich znaków
+1 głos
odpowiedź 8 kwietnia 2015 przez Valtuil Pasjonat (22,460 p.)
Jakie masz kodowanie w bazie danych?

Ustaw na utf-8 w tabeli.
+1 głos
odpowiedź 8 kwietnia 2015 przez Nonek Obywatel (1,780 p.)
Jak masz ustawione kodowanie znaków w bazie mysql ?

PS. moim zdaniem powinno byc <meta charaset="utf-8"> bez ukośnika :0
komentarz 8 kwietnia 2015 przez Rakso Użytkownik (560 p.)

 <meta charaset="utf-8"> bez ukośnika  nie pomógł

komentarz 8 kwietnia 2015 przez Nonek Obywatel (1,780 p.)
czyli masz źle w bazie ;) poniżej już inni odpowiedzieli na co musisz ustawić kodowanie w tabelach
+1 głos
odpowiedź 8 kwietnia 2015 przez joker Nałogowiec (31,150 p.)

Spróbuj zmienić kodowanie z utf-8 na iso-8859-2.

Pozdrawiam

+1 głos
odpowiedź 8 kwietnia 2015 przez Rakso Użytkownik (560 p.)

Kodowanie w bazie danych :  utf8_polish_ci

+1 głos
odpowiedź 8 kwietnia 2015 przez tigeromichal Obywatel (1,060 p.)
+1 głos
odpowiedź 8 kwietnia 2015 przez Rakso Użytkownik (560 p.)
NIc co napisaliście nie pomaga.
+1 głos
odpowiedź 8 kwietnia 2015 przez krecik1334 Maniak (58,390 p.)
Zmien kodowanie znaków i jezyk strony w HTMLu i pliku.
komentarz 8 kwietnia 2015 przez Rakso Użytkownik (560 p.)
zmieniałem juz kodowanie znaków i nie pomagało
+1 głos
odpowiedź 8 kwietnia 2015 przez HaKIM Szeryf (87,590 p.)

Masz tak w bazie jak wchodzisz w Strukturę?

 

komentarz 8 kwietnia 2015 przez Rakso Użytkownik (560 p.)

Struktura 

opcje tabeli

komentarz 8 kwietnia 2015 przez HaKIM Szeryf (87,590 p.)
Nie rozumiem dlaczego Ci nie czyta... Domyślam się, ale to moze być nie to... Jak chcesz przeczytać absurd to napisz... Powiem to co myślę, dalczego to nie działa.
komentarz 8 kwietnia 2015 przez Rakso Użytkownik (560 p.)
jak masz jakiś pomysł to pisz po to ten serwis powstał
komentarz 8 kwietnia 2015 przez HaKIM Szeryf (87,590 p.)
Bo normalnie baza danych nie przyjmuje polskich znaków, są zapisane jako krzaczki, a z tych krzaczków da się odczytać normalną literę. Spróbuj zrobić formularz, niech on wyślę słowo do bazy np: "Żółć", będzie on zakrzaczkowany, potem spróbuj odczytać to sesją, czymkolwiek, i zobacz czy będzie pisało "Żółc", czy jakieś krzaczory.
komentarz 8 kwietnia 2015 przez HaKIM Szeryf (87,590 p.)
Znaczy nie normalnie. Mi tak daje. :p
0 głosów
odpowiedź 8 kwietnia 2015 przez RadomskiCoder Gaduła (3,980 p.)

Ustaw <meta charset="Windows-1250"/>. Powinno być wtedy ok

Podobne pytania

+4 głosów
5 odpowiedzi 13,545 wizyt
pytanie zadane 8 kwietnia 2015 w HTML i CSS przez patrucja Nowicjusz (160 p.)
+1 głos
0 odpowiedzi 757 wizyt
pytanie zadane 23 października 2020 w SQL, bazy danych przez napoludniestad.pl Użytkownik (960 p.)
0 głosów
2 odpowiedzi 982 wizyt

93,605 zapytań

142,530 odpowiedzi

322,999 komentarzy

63,095 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

Kursy INF.02 i INF.03
...