Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [AJAX][PHP]htmlspecialchars + UTF-8 duży problem
neo1986kk
post
Post #1





Grupa: Zarejestrowani
Postów: 561
Pomógł: 3
Dołączył: 2.02.2009

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


witam mam taki problem, że system komentarzy jest oparty na Ajaxie.

do bazy zapisują się komentarze z polskimi znakami zamienionymi na kody utf-8

i powiedzmy taki text: "nowe miejsce do spędzania piątkowych wieczrów" zapisuje się do bazy tak:

nowe miejsce do sp&#281dzania pi&#261tkowych wieczorów

chcąc wyświetlić ten text używam poprostu

  1. echo $text;


nie pojawiało mi się ó więc użyłem

  1. echo iconv('windows-1250','utf-8',$text);


no i teraz to wszystko jest podatne na wstrzyknięcie kodu js, i uruchomienie go.

dlatego użyłem
  1. echo htmlspecialchars(iconv('windows-1250','utf-8',$text));


ok jestem spokojny o js, ale text wyświetla się tak:

nowe miejsce do sp&#281dzania pi&#261tkowych wieczorów


już nie wiem co z tym zrobić, tak źle i tak niedobrze. Może łatwiej będzie zostawić to tak jak jest i zająć się sprawdzeniem danych przed zapisem do bazy?

Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
Ulysess
post
Post #2





Grupa: Zarejestrowani
Postów: 695
Pomógł: 65
Dołączył: 27.07.2009
Skąd: Y

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


zawsze możesz dać przed wyświetleniem $text = htmlspecialchars($text);

PS pliki masz w formacie UTF 8 i czy przy połączeniu z bazą masz mysql_query('SET NAMES utf8'); questionmark.gif
Go to the top of the page
+Quote Post
neo1986kk
post
Post #3





Grupa: Zarejestrowani
Postów: 561
Pomógł: 3
Dołączył: 2.02.2009

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


pliki w utf-8
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 22.08.2025 - 09:12