Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php/Mysql] polskie znaki
muru
post
Post #1





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 12.02.2007

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


hi, mam problem z polskimi znakami na stronce(php), która czyta dane z mysql;

mianowicie założyłem tabelę:
  1. CREATE TABLE `T4` ( `id` INT UNSIGNED NOT NULL AUTO_INCREMENT, `nazwa` TINYTEXT NOT NULL, PRIMARY KEY (`id`) ) TYPE=MYISAM CHARACTER SET latin2 COLLATE latin2_general_ci;


do tabeli wpisuje słowo "łódź", jak czytam tabelę spod konsoli mysql jest oki, problem zaczyna się przy próbie przeczytania w php;

co zrobiłem:
1) w headzie dodałem
  1. <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-2">

lipa nadal bez zmian słowo wygląda tak: "?(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ?d??"

2) dodałem w kodzie po połączeniu z bazą
  1. <?php
  2. mysql_query ("SET NAMES latin2");
  3. ?>

zmiana na "�ódź"

3)dodałem jeszcze
  1. <?php
  2. SET CHARACTER SET latin2;
  3. SET collation_connection = latin2_general_ci;
  4. ?>

no i też krzaki

mam mysql 5

nie używam phpadmina, dodac jeszcze mogą że znaki polskie zawarte w kodzie html na tej stronce przedstawione są dobrze, problem jest tylko z tymi z mysql

ma ktoś moze jakis pomysl?

pozdrawiam

Ten post edytował muru 17.04.2007, 22:06:30
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Atomic
post
Post #2





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 21.02.2007

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


Zamień latin2 na utf8, i latin2_general_ci na utf8_polish_ci.
Zobacz czy twój klient SQl ma możliwość konwersji na utf8_polish_ci, jeżeli nie dodaj do bazy wpis:

ą ę ż ź ć ś ń ł ó

i zamień polskie zanki na te które będą w baźie, prawdopodaobnie zobaczysz coś takiego:

± ê ¿ ¼ æ ¶ ñ ³ ó

lub dodaj wpisy na nowo.

Tylko wcześniej musisz zmienić kodowanie całej bazy, tabeli i pola na kod zanku: utf8 i porównanie utf8_polish_ci.

Tu wpisałem jeden i drugi rząd znaków ą ę ż ź ć ś ń ł ó - ą ę ż ź ć ś ń ł ó, wiec jak sam widzisz gdy dodajesz je przez formularz są jednoznaczne.

Jak już uparłeś się na to:

  1. <?php
  2. mysql_query ("SET CHARACTER SET latin2");
  3. mysql_query ("SET collation_connection = latin2_general_ci");
  4. ?>


to zamień to na:

  1. <?php
  2. mysql_query ("SET CHARACTER SET utf8");
  3. mysql_query ("SET collation_connection = utf8_polish_ci");
  4. ?>


bez tego i tak będzie działać, tylko musisz zmienić kodowanie w bazie!!!


Poszukaj Mysql Front 3.2.2.10 albo napisz to Ci prześle.

Ten post edytował Atomic 19.04.2007, 17:01:58
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: 26.12.2025 - 17:42