ďťż

[mysql]kodowanie znaków [mysql]

       

Podstrony


telcocafe

Witam
słuchajcie sprawa ma sie tak. Otóz dane w bazie danych mam kodowane w utf-8...jak wyrzucam jakiekolwiek dane na strone to nie mam polskich znaków tylko krzaczki. Co muszę zmienić żeby pokazywały mi sie polskie znaki? Pisze bo poraz pierwszy mam z tym problem. Nigdy wcześnie nic nie ustawiałem i było ok



zanim coś dodasz do bazy zamieniaj polskie znaki na takie coś(tylko trzeba kropki między & a # usunąć)
ą - &.#261;
ć - &.#263;
ę - &.#281;
ł - &.#322;
ó - &.#243;
ś - &.#347;
ż - &.#380;
ź - &.#378;
chyba powinno działać

Co będzie z dużymi Ą Ć Ś Ę Ó Ż Ź? tak samo?

Ż - &.#379;
Ą - &.#260;
Ć - &.#262;
Ę - &.#280;
Ł - &.#321;
Ó - &.#242;
Ś - &.#346;
Ź - &.#377;

w każdym liczba o jedna więcej(tylko przy ó coś nie działa)



a nie ma jakiegoś prostszego sposobu?
czyli co...to powinno wyglądac tak?:
pobieram do zmiennej tekst który wstawiam do tabeli, a potem kilka funkcji warunkowych z str_replace?

no to właśnie ci napisałem
robisz np tak:
$tekst=str_replace("ś", "ś", $tekst)

dobra to wszystko jakieś pogmatwane. Okazało się, że koleś który dał mi tą strone ustawił sobie na stronie kodowowanie windows
zmieniłem to w tagach meta na <meta http-equiv="content-type" content="text/html; charset=iso-8859-2">
ale co zabawne zadziałało to tylko na 1 podstronie, na reszcie (gdzie też to wrzuciłem) nic się nie zmieniło. Zupełnie nie rozumiem :|

a daj kod jednej z tych podstron na której ci to nie działa to sie pomyśli
Użytkownik loguś edytował ten post 20 luty 2007, 14:04
dobra jedyne co mi się udało osiągnąć jak narazie to to, że jak wyciągam dane z tabeli to znaki polskie są...kodowanie bazy danych to utf8_polish_ci

ale jak tekst jest wpisany ręcznie w kod html`a np przy inputach to już są krzaczki....

a co do kodu to którą część kodu chcesz strony? bo przecież całego layout`u itp ci nie bede tu wstawiał :)

p.s. delikatny off-top ale nie bede nowego tematu zakladal

Fatal error: Call to a member function on a non-object in /home/users/trans/public_html/ogrody/1/projekty.php on line 10
co to moze znaczyc ?
Użytkownik Dawid-San edytował ten post 20 luty 2007, 14:11
najlepiej zrób tak, że już przy dodawaniu tekstu do bazy dodawaj ten zamieniony tekst, a nie dopiero przy odczycie z bazy. Wtedy pozbędziesz się problemu

loguś: Twój pomysł prosi o pomstę do nieba...

nie rozumiem o co ci coldpeer chodzi, możesz wytłumaczyć?

no właśnie...
jeśli znasz prostszy sposób to się podziel tak będzie raczej lepiej

loguś: O Twój sposób z zamienianiem ogonków... I to jeszcze w bazie?! Kto to widział.

Dawid: spróbuj dać zapytanie SQL po połączeniu się z bazą w stylu:

mysql_query('SET CHARSET utf8');
Jak nie pomoże, spróbuj może jedno z tych:

mysql_query('SET CHARACTER utf8');mysql_query('SET NAMES utf8');
Użytkownik Coldpeer edytował ten post 20 luty 2007, 15:15
a kiedy i gdzie dać to zapytanie? bo nie za bardzo rozumiem


Dawid: spróbuj dać zapytanie SQL po połączeniu się z bazą w stylu:

a przepraszam nie zauwazyłem :) mało spałem hehe :P

ale moment bo jest inny problem...ze znakami w bazie i z bazy sobie poradziłem, ale problem jest w tym, że jak wstawiam text bezpośrednio, ręcznie wpisuje do kodu html to wtedy są krzaczki i nie wiem co mam zrobić

już wszystko rozwiązane :)
dzięki wam za pomoc
Użytkownik Dawid-San edytował ten post 20 luty 2007, 16:06
Odpowiednie kodowanie pliku jest? Sprawdź też, czy nie masz przypadkiem w przeglądarce ustawionego kodowania innego niż posiada plik HTML.

jeżeli chodzi o tekst w pliku PHP, a nie wyciągany z bazy:
Musisz mieć ustawione kodowanie w <meta>
Musisz ustawić, w miarę możliwości kodowanie dla pliku.

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.