![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 5.11.2011 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Porzebuję pomocy z funkcją imagettftext. Może ktoś już się spotkał z tym problemem. Mianowicie, problem polega na tym, że zamiast polskich znaków, otrzymuję kwadraciki. Oczywiści pierwszy mój pomysł, to kodowanie. Jednakże do tej funkcji przekazuję tekst poprzez Ajax, więc kodowania UTF-8 mam zapewnione, pomimo tego, polskich znaków brak. (Sprawdziłem kodowanie z pomocą mb_detect_encoding - wyniki: UTF-8) Więc pewnie problem polega z czcionką...Tylko nie bardzo wiem gdzie. Testowałem na czcionce arial. Dla pewności zmieniłem też nazwę pliku czcionki na inny, no i faktycznie proces php ma do niego uchwyt, więc zapewne z niego korzysta. Bedę wdzięczy z pomoc Pozdrawiam |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 387 Pomógł: 66 Dołączył: 31.03.2005 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
Font file podajesz ? Czy korzystasz z czcionek systemowych ? Jeśli nie podajesz fontfile to spróbuj określić ścieżkę do fontów. Jak nie podziała to podaj kod. Piszesz, że ajaxowo przekazujesz sobie text, a spróbuj go dać na sztywno i sprawdź rezultat. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 5.11.2011 Ostrzeżenie: (0%) ![]() ![]() |
Podaję fonta - arial'a. Tak jak pisałem, php na pewno z niego korzysta, ponieważ process httpd.exe ma do niego uchwyt.
Dawałem też na sztywno tekst, używałem też funkcji iconv(), no i efekt był taki sam. Poniżej testowty fragment kodu:
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 387 Pomógł: 66 Dołączył: 31.03.2005 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
Weź no na początku pliku daj:
echo '<pre>'; print_r($_POST); echo '</pre>'; i wyświetl to w konsoli, zobaczymy czy się wykrzacza. A jeśli mogę coś zasugerować (IMG:style_emoticons/default/tongue.gif) zamień poniższe warunki na instrukcję switch, według mojego opisu (IMG:style_emoticons/default/smile.gif)
Zmień na:
i
zmień na:
Prawda, że ładniej (IMG:style_emoticons/default/smile.gif) ? I do tego warunek isset(); sprawdzany tylko raz, i switch() (jak podaje manual) jest bardziej wydajny (IMG:style_emoticons/default/smile.gif) |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 5.11.2011 Ostrzeżenie: (0%) ![]() ![]() |
Oto efekt:
Array ( [font] => arial [font-size-value] => 20 [colorValue] => #000000 [text-align] => left [page_dir] => horizontal [userText] => ąęś ) Dzięki za rady (IMG:style_emoticons/default/smile.gif) |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 387 Pomógł: 66 Dołączył: 31.03.2005 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
Czyli dane poprawnie są przesyłane.
Zakładam, że print_r() użyłeś dokładnie w tym samym pliku co kod generujący obrazek, bo jeśli tak to od strony kodowania, jest ok. Tylko i wyłącznie kodowanie jest nie w porządku. To nie może być UTF-8 i nie potrafię Ci powiedzieć czemu. Moim zdaniem plik, w którym znajduje się kod jest zakodowany w czymś innym niż UTF-8 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 5.11.2011 Ostrzeżenie: (0%) ![]() ![]() |
Właśnie najgorsze jest to, że wszystko wydaje się być ok., a nie chce działać...I tracę już 2 dzień na tym, no i nic nie mogę zrobić(IMG:style_emoticons/default/sad.gif) Zmiany kodowania pliku, który generuje obrazek, też próbowałem...bez skutku (IMG:style_emoticons/default/sad.gif) No nic, dzięki za pomoc...Szukam dalej
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 25.08.2025 - 23:06 |