Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: MYSQL - kodowanie bazy. Pomocy :(
Forum PHP.pl > Forum > Przedszkole
bybek5
Witam
Wiem, że było setki takich tematów, które przeczytałem i w miarę możliwości stosowałem się do podanych porad, ale niestety ze słabym skutkiem sadsmiley02.gif . Zacznijmy od tego, że praktycznie nie znam php i mysql. Mam skrypt, który całą zawartość strony ma w bazie danych. Baza była przeniesiona z serwera netaz.pl na ugu.pl. Baza ma: Metoda porównywania napisów: latin2_bin; została zaimportowana z kodowaniem uft8. Kiedy otworzyłem plik "baza.sql" przez notatnik to miałem np. taki tekst:
Dodaj now± reklamę
Dostępne s± dwie opcje prezentacji reklamy
Reklamy wy¶wietlaj± się losowo.
A ten sam tekst na stronie WWW wygląda tak:
Dodaj now? reklam?
Dost?pne s? dwie opcje prezentacji reklamy
Reklamy wy?wietlaj? si? losowo.
Kiedy podejrzałem plik: index.php to kodowanie strony mam:
<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-2" />
Jak mam poustawiać kodowania, żeby tekst wyświetlał się prawidłowo?
Z góry dzięki za pomoc
Lejto
miałem taki sam problem smile.gif
zaraz w skrypcie po połączeniu z bazą daj
  1. <?php
  2. mysql_query("SET NAMES 'latin1'");
  3. ?>

albo latin2
bybek5
Zadam teraz głupie pytanie: czyli gdzie ja mam to wkleić: do bazy, do index.php czy gdzie? Jak mówiłem jestem zielony w tych sprawach wstydnis.gif
Lejto
aha nie zauważyłem smile.gif
tam gdzie masz połączenie z bazą i widnieje taki kod
  1. <?php
  2. mysql_connect('localhost', 'root', 'haslo');
  3. mysql_query("SET NAMES 'latin1'");
  4. ?>

to może być w pliku index.php albo config.php albo w jakimś pliku z funkcjami
dodałem już set names
bybek5
Mam taka funkcje:
  1. <?php
  2. function db_connect()
  3.  {
  4.  $result=mysql_connect("localhost","nazwa","haslo");
  5.  if(!$result)
  6.  return false;
  7.   if(!mysql_select_db("nazwa"))
  8.  return false;
  9.  
  10.  return $result;
  11.    }
  12. ?>

to tutaj mam wkleić: mysql_query("SET NAMES 'latin1'");
piotrooo89
tak tutaj.
matixrr
  1. <?php
  2. function db_connect()
  3. {
  4. $result=mysql_connect("localhost","nazwa","haslo");
  5. mysql_query("SET NAMES 'latin1'");
  6. if(!$result)
  7. return false;
  8.  if(!mysql_select_db("nazwa"))
  9. return false;
  10.  
  11. return $result;
  12.   }
  13. ?>
bybek5
Niestety nadal to samo sad.gif

Po różnych kombinacjach jakoś się udało. Ale w sumie to jest dziwne, bo jak importowałem bazę to ustawiłem uft8. W programie gżegżółka ustawiłem kodowanie tekstu na uft8, a to miałem tak:
  1. <?php
  2. mysql_query("SET NAMES ''uft8");
  3. ?>
i nadal źle wyświetlały się znaki. Dopiero jak zmieniłem SET NAMES na latin2 to jest ok. guitar.gif
Lejto
pisałem albo latin1 albo latin2
bybek5
Tak tak, tylko chodzi mi o to, że jest to trochę dziwne że kodowanie w bazie mam uft8 a SET NAMES mam latin2
Lejto
też tak mam i nie wiem czemu pisałem do admina to powiedział że wszystko dobrze i tyle
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.