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
 
Start new topic
Odpowiedzi
tehaha
post
Post #2





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

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


skoro usunięcie funkcji nie dało żadnego efektu to po co ją nam pokazujesz? chyba logiczne, że przyczyna leży gdzie indziej.

Cytat
W innych miejscach
Cytat
jakieś znaki
Słuchaj mógłbyś jasno opisać sytuację? Bo nie wiem czego oczekujesz po takim poście, który nic nie ma żadnych informacji.
Co to są inne miejsca, czyli gdzie jest to dobrze wyświetlane? Co to są jakieś znaki? chodzi o wszystkie znaki specjalnie, czy tylko nie które? W jaki sposób dodajesz te znaki do bazy? z poziomu skryptu czy np. przez phpMyAdmin?

Na początek pousuwaj te wszystkie funkcje, żeby upewnić się, że to nie one stanowią problem, potem trzeba będzie przyjrzeć się kodowaniu czy wszędzie jest takie samo
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: 13.10.2025 - 07:51