Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Znaki specjalne są zamieniane na "?"
Maciek_#_&
post
Post #1





Grupa: Zarejestrowani
Postów: 149
Pomógł: 1
Dołączył: 22.02.2010

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


Witam,

Co może być przyczyną, że jakieś znaki specjalne jak np:
◕◕人\
Są zamieniane na "?(IMG:style_emoticons/default/questionmark.gif) (IMG:style_emoticons/default/questionmark.gif) (IMG:style_emoticons/default/questionmark.gif) (IMG:style_emoticons/default/questionmark.gif) (IMG:style_emoticons/default/questionmark.gif) ?" ?

Strona kodowana w UTF8, w bazie danych wpisy widnieją jako "?(IMG:style_emoticons/default/questionmark.gif) (IMG:style_emoticons/default/questionmark.gif) (IMG:style_emoticons/default/questionmark.gif) (IMG:style_emoticons/default/questionmark.gif) ?", przed wysłaniem, po wklejeniu do input'a wyświetla sie poprawnie, dopiero po wysłaniu zamienia sie na "?(IMG:style_emoticons/default/questionmark.gif) ?".

W innych miejscach, takie "znaki specjalne" wyświetlają sie poprawnie. (i w bazie również widnieją jako ◕◕人\ )

Zauważyłem że w formularzu przesyłania danych do bazy danych jest "htmlspecialchars_uni", a w innych "jsspecialchars"
Dokładna funkcja jsspecialchars:
  1. $string = preg_replace(array("#\<\!--.*?--\>#", "#&(?!\#[0-9]+;)#"), array('','&amp;'), $str);
  2. return strtr($string, array("\n" => '\n', "\r" => '\r', '\\' => '\\\\', '"' => '\x22', "'" => '\x27', '<' => '&lt;', '>' => '&gt;'));


Ten post edytował Maciek_#_& 11.09.2011, 21:03:06
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: 23.08.2025 - 01:21