Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL]Kodowanie, zapytanie ...
Forum PHP.pl > Forum > Przedszkole
Wieczny
Witam problem polega na tym że w bazie wszystko jest ok tzn są polskie znaki i tak dalej jednak na stronie już jest inna bajka starałem się zastosować wszystko co znam biggrin.gif

Dodałem po połączeniu z bazą taki fragment
  1. <?php
  2. mysql_query("SET NAMES 'utf8_polish_ci'");
  3. ?>


Nic to nie dało starałem się też innych podobnych sposób jednak guzik, zapytanie wygląda tak
  1. <?php
  2. $news = mysql_query("SELECT id, title, news, date, user, level
  3. FROM wpp_news");
  4.  
  5. $new = mysql_fetch_array($news);
  6. ?>


i dodam jeszcze jedno używam smarty gdzie jest meta i head więc to nie to bo wszystko po za tym co pobiera z bazy ma ładne ogonki smile.gif blinksmiley.gif w bazie metoda porównywania znaków to utf8_polish_ci jaki za równo na stronie
sebekzosw
Ja mam podobny problem - strona kodowana w utf-8 a w bazie metoda porównywania znaków to utf8_polish_ci i zamiast polskich czcionek jakiś syf wyskakuje - co zrobić aby były polskie znaki ;>
sowiq
Ja robię po połączeniu:

  1. <?php
  2. mysql_query("SET CHARACTER SET utf8", $this->connection);
  3. ?>


Ale dla różnych problemów są różne metody rozwiązywania...
Pilsener
Kodowanie znaków w bazie może być dowolne, natomiast "ogonki" które weszły do bazy mogą być przecież także dowolnie zakodowane. Sprawdź, co wypluwa baza funkcją typu mb_detect_encoding, pobaw się iconv.

Rozumiem, że problemy tego typu pojawiają się po imporcie danych do bazy np. z pliku?
vokiel
U mnie wszystko działa, a mam ustawione tak:

MySQL:
Kod
// dla tabel:
CHARACTER SET utf8 COLLATE utf8_general_ci

Połączenie:
Kod
//przy zapytaniach:
mysql_query("SET NAMES 'utf8'", $this->connection);

Pliki:
Kod
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
// pliki zapisywane (kodowane) jako UTF-8 bez BOM


utf8_polish_ci u mnie nie zawsze działał tak dobrze jak utf8_general_ci
sebekzosw
Ja już rozwiązałem swój problem - po połączeniu się z bazą mam taki kod:

  1. <?php
  2. @mysql_query('SET character_set_connection=utf8_polish_ci');
  3. @mysql_query('SET character_set_client=utf8_polish_ci');
  4. @mysql_query('SET character_set_results=utf8_polish_ci');
  5. @mysql_query('SET NAMES utf8');
  6. ?>


Pliki zapisuje kodowaniem UTF-8 (w Notatniku możecie pozmieniać lub w PHP Expert Editor 4.2 - w tym robię ;-))
I oczywiście head strony:
  1. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />


To jest nawet ciekawy artykuł ;-)

Ja już rozwiązałem swój problem - po połączeniu się z bazą mam taki kod:

  1. <?php
  2. @mysql_query('SET character_set_connection=utf8_polish_ci');
  3. @mysql_query('SET character_set_client=utf8_polish_ci');
  4. @mysql_query('SET character_set_results=utf8_polish_ci');
  5. @mysql_query('SET NAMES utf8');
  6. ?>


Pliki zapisuje kodowaniem UTF-8 (w Notatniku możecie pozmieniać lub w PHP Expert Editor 4.2 - w tym robię ;-))
I oczywiście head strony:
  1. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />


To jest nawet ciekawy artykuł ;-)
Ociu
Temat wałkowany miliony razy. Zamykam.
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.