Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php+mysql] Jak wykorzystać utf8 do tworzenia aplikacji?
Wickerman
post
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 8.09.2009

Ostrzeżenie: (0%)
-----


Witam,
Mam następujący problem:
Chcę stworzyć aplikację w PHP z wykorzystaniem bazy danych w mysql-u. Tworzę formularz kodowany w utf-8, z którego informacje przekazywane są metodą POST do pliku php przetwarzającego skrypt umieszczający wprowadzone dane do bazy. Problem polega na tym, że wprowadzając polskie znaki w formularzu, w bazie pojawiają się krzaki.

Problem co gorsza występuje na poziomie PHP, bo jak wyświetlę sobie zmienną przechowującą wyraz z polskimi literami przed wpisaniem do bazy, to na ekranie również dostaję krzaki. Zmienną tą pobieram za pom. funkcji htmlentities i przypuszczam, że to ona może coś mieszać. Dodam jeszcze, że pomimo ustawienia kodowania w metatagu na utf8 i zakodowaniu samego pliku w utf (notepad++) na stronie również odziwo wyświetlają się krzaczki. Strona uruchamiana jest na lokalnym serwerze Wamp.

Dodam jeszcze, że baza danych została stworzona z utf8 (tak samo jak tablice), parametry połączenia skryptu PHP z mysql też są poustawiane na utf8 (polecenie status z mysql zwraca dla connection, server, db i client - utf8) za pomocą takich poleceń jak (przykładowo):
  1. mysql_query('SET character_set_connection=utf8;');

  1. mysql_query('SET NAMES utf8;');

Pliki formularza i skryptu PHP są zakodowane w utf-8 przy użyciu programu notepad++.

Podsumowując: Jak stworzyć fformularz i bazę danych, aby zapis do i odczyt z bazy przy pomocy php odbywał się przy pomocy kodowania utf8 i poprawnie wyświetlał wszystkie znaki.

Ten post edytował Wickerman 27.06.2010, 13:45:35
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Wickerman
post
Post #2





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 8.09.2009

Ostrzeżenie: (0%)
-----


@ramol:
To jest pewien pomysł, bo dane z tabeli to wyciągam w oknie mysql-a, po wyciągnięciu ich z powrotem do www być może problemu nie będzie, co nie zmienia faktu, że wciąż pozostaje jedna uciążliwość gdyż chcąc wyciągnąć niezakrzaczone dane z bazy trzeba będzie to robić tylko i wyłącznie za pomocą PHP co w przypadku zastosowań mojej bazy nie będzie zbyt praktyczne (ze względu na różnorodność zapytań).

Może jestem perfekcjonistą, ale lubię gdy mam wszystko pod kontrolą, bo w razie draki wiem co się dzieje.
Więc ponawiam pytanie: dlaczego pomimo poprawności wyświetlania danych na stronie www, przy ustawieniach bazy podanych wyżej polskie litery w bazie nie są poprawnie wyświetlane.

PS. Jeszcze jedna rzecz. Gdy wpisuję polskie litery z poziomu wiersza poleceń mysql-a (również z konta roota) dane są wprowadzane do bazy poprawnie O_O

No i dziękuje za dotychczas udzielone odpowiedzi, które okazały się bardzo pomocne!
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.12.2025 - 00:55