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 (1 - 4)
CuteOne
post
Post #2





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

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


.... skoro wiesz gdzie leży problem to dlaczego nie sprawdziłeś czy bez tych funkcji znaki specjalne będą poprawnie wyświetlane?

paranoja...
Go to the top of the page
+Quote Post
Maciek_#_&
post
Post #3





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

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


Cytat(CuteOne @ 11.09.2011, 22:58:51 ) *
.... skoro wiesz gdzie leży problem


Gdzie tak napisałem?


Już próbowałem kilku sposobów, m.in usuwanie tego co wyżej i nie dało to efektu.
Go to the top of the page
+Quote Post
tehaha
post
Post #4





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
wewior
post
Post #5





Grupa: Zarejestrowani
Postów: 200
Pomógł: 8
Dołączył: 24.09.2003

Ostrzeżenie: (10%)
X----


Cytat(Maciek_#_& @ 11.09.2011, 21:59:12 ) *
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 ◕◕人\ )


Kilka rzeczy do sprawdzenia:
- czy baza mam poprawne kodowanie (raczej tak skoro w innych miejscach się wyświetla poprawnie ale sprawdzić warto)
- czy w innych miejscach o których piszesz dane też były dodawane z formularza?
- może jakiś plik który bierze udział w tym procesie jest w innym kodowaniu niż utf8 i stąd problem
Go to the top of the page
+Quote Post

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: 22.09.2025 - 07:30