ďťż

[PHP] Za duze rekordy?

       

Podstrony


telcocafe

Otóż stowrzyłem swój panel administracyjny który ulatwia mi dodawanie artykułów na strone! I teraz keidy KOPIUJE i WKLEJAM DUZO TEKSTU do panelu i dodaje do bazy to wtedy nie wyświetla mi prawidlowo ą, ś! CO ZROBIĆ???????



hm.. czy obie strony (dodawania i wyświetlania) mają ustawione to samo kodowanie?

Co zrobić to ci dokładnie nie powiem. Ale tak jak wyżej napisane sprawdź kodowanie. Jeśli piszesz w jakimś programiku te newsy to sprawdź czy tam masz ustawione identyczne kodowanie jak na stronie. A co do pytanie z tematu to nie wina wielkości rekordów

Otóż kodowanie jest zgodne!
Tylko że jeśli kopiuje krótkie teksty to kodowanie jest OK ale jeśli dłuższe to sie rypie tylko ś i ą i własnie za chiny nie wiem dlaczego. Typ kolumny w bazie ustawilem na MEDIUMTEXT.



No nie sądze żeby to była wielkość rekordu...Typ pola też raczej na pewnoe nie bo chyba nie przebiłeś kilku milionów znaków....

Ja też nie sądze, że długość pola ma jakieś znaczenie. Możesz ustawić kodowanie danego pola (w MySQLu), więc ustaw je na takie jakie zapisujesz. Poza tym ciężko coś więcej powiedzieć. Upewnij się że dodajesz tekst o takim samym kodowaniu jakie potem wyświetlasz

Już mówiłem wcześniej, że kodowanie jest to samo! Jak dodaje rekord przez PHPMYADMIN to wszystko jest ok! Jednak ta strone maja oblsugiwac ludzie niedoswiadczeni wiec musialem im zrobic ten owy panel no i kicha bo nie mozna dlugich tekstów dodawac! A znaków wstawilem prawie UWAGA 700 000! Ustawilem potem jeszcze typ kolumny na LONGTEXT wiec to chyba powinno wystarczyc :P!

Jeśli nie dodaje Ci tekstu do bazy to może w treści stosujesz ' albo " i nie zabezpieczyłeś tego?
Użytkownik El Mariachi edytował ten post 17 wrzesień 2005, 15:51
Stosowanie ' i " niczego nie zmienia.
Dla testu usunąłem z tekstu te znaki a efekt jest ten sam.
Użytkownik polasek edytował ten post 17 wrzesień 2005, 18:03
proponuje ci tkaa funkcje w momencie kiedy zapisujesz do bazy
cos podobnego chyba juz tutaj bylo
function iso($text) {

$text = str_replace("Ą","&# 260;",$text); $text = str_replace("ą","&# 261;",$text); $text = str_replace("Ć","&# 262;",$text); $text = str_replace("ć","&# 263;",$text); $text = str_replace("Ę","&# 280;",$text); $text = str_replace("ę","&# 281;",$text); $text = str_replace("Ł","&# 321;",$text); $text = str_replace("ł","&# 322;",$text); $text = str_replace("Ń","&# 323;",$text); $text = str_replace("ń","&# 324;",$text); $text = str_replace("Ó","&# 211;",$text); $text = str_replace("ó","&# 243;",$text); $text = str_replace("Ś","&# 346;",$text); $text = str_replace("ś","&# 347;",$text); $text = str_replace("Ż","&# 379;",$text); $text = str_replace("ż","&# 380;",$text); $text = str_replace("Ź","&# 377;",$text); $text = str_replace("ź","&# 378;",$text);    return $text;   }
wykonaj ta funkcje przed zapisaniem do bazy a juz nigdy nie bedziesz mial z tym problemow - usun tylko spacje pomiedzy znakami # a cyframi bo nie bedzie dzialac
jezeli problem bedzie sie powtarzal nadal przerob skrypt zeby ci sapisywal np
ź jako :-zi-: a potem drugi skrypt przed wyswietleniem odkodowywujacy
Użytkownik orglee edytował ten post 17 wrzesień 2005, 22:35
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.