Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MYSQL]Polskie znaki w tabelach bazy
Forum PHP.pl > Forum > Przedszkole
Wolfie
Witam,


Utworzylem sobie w phpMyAdmin-ie baze danych z kodowaniem utf-8 collation utf-8_polish_ci.

Następnie utworzyłem skrypt php za pomocą notepad++ który tworzy poszczególne tabele bazy danych

Część skryptu wygląda tak :

  1. <?php
  2. $sql1 =
  3.        "CREATE TABLE IF NOT EXISTS char_main (
  4.            id int(11) NOT NULL auto_increment,
  5.            alias varchar(40) NOT NULL default '',
  6.            real_name varchar(80) NOT NULL default '',
  7.            lair_id int(11) NOT NULL default 0,
  8.            align enum('dobry', 'zły') NOT NULL default 'dobry',
  9.            PRIMARY KEY (id)
  10.            )";
  11. ?>


Dodam ze kodowanie w notepad++ mam ustawione na utf-8 bez BOM.
Prosze zwrocić uwagę na te linijke :
  1. <?php
  2. align enum('dobry', 'zły') NOT NULL default 'dobry',
  3. ?>


Po utworzeniu tabel w bazie danych wchodzę do MySQL Comadn Center a tam zamiast polskich znakow widze jakies krzaczki, podelem wyzej przyklad tej linijki poniewaz zamias polskiej litery "ł" jest kilka krzaczkow, jak sobie z tym poradzic ?
thekoks
Pisze jak byk blinksmiley.gif
Przypięty: [MySQL] Polskie znaki
sowiq
Cytat(thekoks @ 27.04.2009, 16:09:41 ) *
Pisze jak byk blinksmiley.gif
Czy chodziło Ci o:
1. piszę jak byk
2. jest napisane jak byk

winksmiley.jpg

// Nie pierwszy raz widzę jak nabijasz posty tego typu wypowiedziami.
// Więc się pilnuj.
// ~webdice
thekoks
raczej o to drugie winksmiley.jpg
Wolfie
Ten "artykuł" za wiele mi nie wytlumaczyl, po pierwsze nie wysyłam nagłówków bo mam czysty skrypt php, po drugie nie korzystam z PDO i nawet nie wiem co to jest, i mysle ze nie musze wiedziec zeby ustawic polskie znaki w MySQL.
Po trzecie, zarowno baza danych jak i tabela ustawione sa na utf-8 collation utf-8_polish_ci....

Więc jeśli ktos bylby tak mily i powiedział mi co może być jeszcze nie tak bedę wdzięczny.....
bluesqad
  1. <?php
  2. mysql_query('SET NAMES utf8');
  3. ?>


wstaw przy laczeniu z baza danych smile.gif
Wolfie
Może jeszcze dodam taką rzecz, że gdy otworzyłem MySQL Comand Center zobaczyłem krzaczki, pozniej otworzyłem MySQL Administrator-a i zmieniłem znaki na polskie w jednej z kolumn, wszystko sie udalo, od tej pory wyświetlanie w MYSQL Administratorze jest poprawne , ale w MySQL Commande Center ciagle krzaczki.....

Cytat
wstaw przy laczeniu z baza danych smile.gif


Tzn po połączeniu przed wyborem bazy , czy po wyborze bazy ?
bluesqad
po połączeniu i po wyborze bazy

  1. <?php
  2. $connect = mysql_connect($host, $login, $pass);
  3. $select_base = mysql_select_db($base, $connect);
  4. mysql_query("SET NAMES 'utf8'");
  5. ?>


no i dane do bazy musisz miec wprowadzone bez krzaczków bo inaczej krzaczki CI pociągnie.
Wolfie
no tak jak to jest w pierwszym poscie , nie ma krzaczkow a kodowanie pliku jest utf-8......
bluesqad
tamto powinno pomóc. jak nie to sprawdz jeszcze jak masz zapisany plik (strukture) czy jako ANSII czy jako UTF-8 a moze jeszcze masz inne kodownie...

z menu górnego -> format -> utf-8
i zapisz plik po czym sprawdż
Wolfie
Wstawiam "pomógł" za całokształt włożonej pracy aby mi pomóc i za zapoznanie mnie w istrukcja :

  1. <?php
  2. mysql_query("SET NAMES 'utf8'");
  3. ?>


smile.gif
bluesqad
rozumiem że już wszystko działa?

no i cieszy że mogłem pomóc jak coś smile.gif
Wolfie
Do konca nie jestem pewny bo wziałem sie za projektowanie bazy, tak jak mowilem MySQL Administrator wyswietla znaki prawidłowo, zobaczymy co bedzie jak uzupełnie baze , ale to po zaprojektowaniu.....
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.