Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] Znaki zapytytania/krzaczki/kwadraty
Forum PHP.pl > Forum > Przedszkole
Tho
W phpmyadmin miałem ustawione na latin1, zmienłem na utf-8 polish ci, dalej to samo.

W pliku łączącym z bazą nie ma nic o kodowaniu, dodać? I co dodać najlepiej?

Kodowanie plików to utf-8 bez bom a w bazie w "Operacje" ustawione na utf-8 polish ci.

Więc dlaczego mogą nadal błędnie się wyświetlać?
motyl-pl
1. Kodowanie serwera
2. Meta dane pliku -> kodowanie
3. Nagłówki php -> kodowanie
4. Baza -> kodowanie
5. Metoda porównywania napisów (baza, tabela) -> kodowanie

=)
croc
Sprawdź w <meta> czy ustawiłeś odpowiednie kodowanie. Jeśli to nie pomoże, to spróbuj takiego zapytania po połączeniu się z bazą:
  1. SET NAMES utf8
Tho
Co gdy wszysktko spełnione i dalej tak samo?". W phpmyadmin są polskie znaki, na stronie nadal ich nie wyświetla?

PS: Gdzie jest php.ini(nie chodzi mi o localhost, bo tu wiem, chodzi o serwer zewnętrzny?) To chyba jednak nie ma znaczenia, powinien być na to prostoszy sposób...
croc
Pokaż kod.
Tho
A jakie tu znaczenie ma kod? Ważne są chyba tylko fragmenty z zaznaczeniem kodowania, gdzie i jak to zaznaczyć... Po co kod??

W kodzie przecież można tylko dodać w headerze raz i dodatkowy header php na górze(który dodałem). Czy może się mylę?

Jak sprawdzić czy zrobiłem wszystko poprawnie, a jeśli zrobiłem to co jeszcze trzeba zrobić, bo krzaczki są nadal..
croc
Jak chcesz pomocy to pokaż kod, bo coś robisz nie tak. Nikt się z tobą w ciuciubabkę nie będzie bawił i nie będziemy tak zgadywać do nocy...
Tho
Ok, tylko co (cały?) kod ma tutaj do rzeczy?
croc
Wystarczy sekcja <head> i łączenie z bazą.
Tho
Łączenie z bazą:

  1. <?php
  2. $mysql_host = 'x';
  3. $mysql_login = 'x';
  4. $mysql_haslo = 'x';
  5. $mysql_baza = 'x';
  6.  
  7. $polaczenie = mysql_connect($mysql_host, $mysql_login, $mysql_haslo) or die('Błąd: nie udało się nawiązać połączenia z bazą danych.');
  8. mysql_select_db($mysql_baza) or die('Błąd: nie udało się wybrać schematu bazy danych.');
  9. mysql_query("SET NAMES 'utf8'");
  10. ?>


Head:

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <title>Tytul</title>
  6. <link rel="stylesheet" type="text/css" media="all" href="./css.css" />
  7. </head>


W pliku z połączeniem dałem mysql_query("SET NAMES 'utf8'"); teraz zamiast kwadratów mam:

Nie rozumiem też dlaczego w jednym miejscu Ż, czy ś wyświetla normalnie a gdzie indziej nie.
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.