Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Polskie znaki -> zamiana
MadMark
post 18.11.2010, 01:30:07
Post #1





Grupa: Zarejestrowani
Postów: 105
Pomógł: 3
Dołączył: 12.07.2010

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


Napisałem funkcję:

  1.  
  2. function polishchars($text)
  3. {
  4. $replaced = array('ą','ę','ś','ć','ń','ł','ź','ż','ó','Ą','Ę','Ś','Ć','Ń','Ł','Ź','Ż','Ó');
  5. $replacement = array('261','281','347','263','324','322','378','380','243','260','280','346','262','323','321','377','379','211');
  6. $text = str_replace($replaced,$replacement,$text);
  7. return $text;
  8. }

(teraz na potrzeby forum - ponieważ zamienia na polskie znaki - usunąłem z przodu liczb &# a z tyłu winksmiley.jpg

I taka funkcja powinna mi zwracać polskie znaki w zamiennikach html w dowolnym tekście - nawet jeśli po zamianie na znaczki html insertujemy wartość do SQL.

I teraz moje pytanie:

Dlaczego działają wszystkie znaczki a zamiast ą i ś pojawiają się ? (znaki zapytania) ?
Ktoś mi to wytłumaczy?
Ma na to wpływ htmlspecialchars PRZED użyciem funkcji zamiany znaków językowych ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
MadMark
post 18.11.2010, 13:12:24
Post #2





Grupa: Zarejestrowani
Postów: 105
Pomógł: 3
Dołączył: 12.07.2010

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


No otóż właśnie pracuje na windowsie i notepad++, wszystko wrzucam na serwer gdzie już notepad++ nie ma i muszę edytować notatnikiem (kod php).
Ale jaki to ma związek z tekstem wrzucanym przez przeglądarkę do sql to nie wiem.
Wszystko odbywa sie na zasadzie:
napisanie tekstu -> zapostowanie go odpowiednim formularzem -> przepuszczenie przez htmlspecialchars aby uniknąć znaków typu " i ' przy sql injection etc -> przepuszczenie przez funkcję zmieniającą znaki -> insert(update przy edycji) w sql.

No dziwne to dla mnie bardzo, bo z innymi rzeczami tego typu problemu nigdy nie miałem (przynajmniej nie pamiętam). Co więcej, zauważyłem, że to już w SQL są ? zamiast polskich znaków ś i ą - ale reszta w html...
A w SQL kodowanie znaków jest od gry (MuOnline) - Chinese_PRC_CS_AS dla wybranych tabel specjalnie zmieniane na polskie (ale polskich jest chyba 4 i nie wiem czy dobry ustawiłem)

Jakieś rady ?
Go to the top of the page
+Quote Post
exood
post 18.11.2010, 15:50:39
Post #3





Grupa: Zarejestrowani
Postów: 86
Pomógł: 16
Dołączył: 2.12.2009
Skąd: Płock/Warszawa

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


Cytat(MadMark @ 18.11.2010, 13:12:24 ) *
No otóż właśnie pracuje na windowsie i notepad++, wszystko wrzucam na serwer gdzie już notepad++ nie ma i muszę edytować notatnikiem (kod php).


a nie możesz pobrać pliku do siebie, edytować go w n++ i potem wysłać na serwer?
Go to the top of the page
+Quote Post

Posty w temacie


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 Wersja Lo-Fi Aktualny czas: 20.06.2025 - 19:30