Moje ustawienia to:
- w pliku .php: content="text/html; charset=utf-8"
- na serwerze mysql:
-- metoda porównywania napisów: wszędzie utf8_general_ci.
Dopisałem przed INSERT'em linijki z set character set utf8 i wydaje się, że działa.
Problem pojawia się tylko przy wprowadzeniu wszystkich polskich znaków w ci±gu, czyli: ęó±¶łżĽćń. strlen() pokazuje wówczas 18 znaków a jest 9. Dziwna sprawa, spotkał się kto¶ z tym?
Doszedłem do wniosku, że co¶ jest nie tak z liter± "ń".
Jeden znak "ń" jest widziany jako 2 znaki. Czyli "ńńń" w strlen() zwraca 6. A przy zastosowaniu go przy ci±gu znaków "ęó±¶łżĽćń" powoduje iż system widzi ten ci±g jako 18 znaków. Przy ci±gu "±±±±ń" wychodzi 10 znaków. Co dziwne, przy zastosowaniu ograniczenia:
<?php ?>
przed INSERT'em do bazy i wprowadzeniu "ńńń" jako $ciag, fukcja if zwraca false i INSERT wchodzi bo system widzi "ńńń" jako 6 znaków...
Przy pominięciu "ń" też co¶ jest nie tak bo ci±g znaków "ęó±¶łżĽć" odczytany jest przez strlen() jako 16 znaków.
Ma kto¶ jaki¶ pomysł co to może być?