[php]imagettftext() i polskie znaki |
[php]imagettftext() i polskie znaki |
16.02.2008, 19:17:13
Post
#1
|
|
Grupa: Zarejestrowani Postów: 127 Pomógł: 15 Dołączył: 16.02.2008 Skąd: Sanok Ostrzeżenie: (0%) |
Witam. Chciałbym dodać tekst do obrazka. Tekst jest przesyłany z formularza.
Kod $text = htmlspecialchars($_POST['text']); imagettftext($stary, 10, 0, 29, 20, $kolor, "arial.ttf" , $text); I na obrazku mam jakieś takie dziwne coś. Gdy podaje tekst normalnie, to jest ok. Jednak, gdy tekst jest przesyłany POST-em, to już się psuje. Czcionka oczywiście jest na serwerze. Dzięki za pomoc. Lepiej to wyjaśniłem w poście 7. Ten post edytował wizu 16.02.2008, 22:51:17 |
|
|
16.02.2008, 19:22:09
Post
#2
|
|
Grupa: Zarejestrowani Postów: 875 Pomógł: 122 Dołączył: 2.02.2008 Ostrzeżenie: (0%) |
"takie dziwne coś" to nie jest określenie problemu... Jakie dziwne coś...? i po co stosujesz htmlspecialchars...?
|
|
|
16.02.2008, 21:04:43
Post
#3
|
|
Grupa: Zarejestrowani Postów: 127 Pomógł: 15 Dołączył: 16.02.2008 Skąd: Sanok Ostrzeżenie: (0%) |
htmlspecialchars używam, żeby mi ktoś czegoś nieoczekiwanego nie podał. A takie coś dziwne, to wydawało mi się, że każdy załapie o co mi chodzi. Jednak jeśli nie, to chodzi mi o to, że zamiast:
ęóąśłżźćń mam Czyli po prostu nie ma polskich znaków. A w czcionce są. Próbowałem już chyba wszystkiego co znalazłem na necie, jednak nic nie pomoga. A iconv() nie chce używac, bo za bardzo obciąża serwer. |
|
|
16.02.2008, 21:18:04
Post
#4
|
|
Grupa: Zarejestrowani Postów: 382 Pomógł: 22 Dołączył: 21.05.2007 Skąd: Elbląg Ostrzeżenie: (0%) |
Nie da rady. Nie można stosować w adresie polskich znaków. Zatem GET odpada.
Chociaż... przyjrzyj się jak to rozwiązała Wikipedia. Przykład -> http://pl.wikipedia.org/wiki/Strona_g%C5%82%C3%B3wna chodzi o "Strona Główna" http://www.hotscripts.pl/produkt-2153.html |
|
|
16.02.2008, 21:20:00
Post
#5
|
|
Grupa: Zarejestrowani Postów: 127 Pomógł: 15 Dołączył: 16.02.2008 Skąd: Sanok Ostrzeżenie: (0%) |
Hmm to jest pomysł. Dzięki wilekie.
|
|
|
16.02.2008, 21:27:58
Post
#6
|
|
Grupa: Zarejestrowani Postów: 382 Pomógł: 22 Dołączył: 21.05.2007 Skąd: Elbląg Ostrzeżenie: (0%) |
Jak dojdziesz do tego jak to zrobić to podziel się wiedzą i powiedz czy coś pomogłem
|
|
|
16.02.2008, 22:13:21
Post
#7
|
|
Grupa: Zarejestrowani Postów: 127 Pomógł: 15 Dołączył: 16.02.2008 Skąd: Sanok Ostrzeżenie: (0%) |
Jasne, tylko to się przyda później. Narazie mam przesyłanie POST-em. Pomyliłem się w pierwszym poscie. Wybacz. Chciałem sobie potestować, jak to jest z tym tekstem. I gdy zamiast dodawac tekst do obrazka, wyświetliłem $_POST['text'], to polskie znaczki działają tak jak powinny. Jednak, gdy tylko próbóję je narzucić na obrazek, to juz jest tak jak na zdjęciu. Więc tekst jest normalny po przesłaniu, tylko przy wyświetlaniu coś się psuje. Nie wiem, czy ta funkcja nie potrafi tego zrobić czy co? Wie ktoś coś na ten temat? Dzięki.
Edit Teraz zaobserwowałem coś jeszcze dziwniejszego. Gdy wyświetlam, to w ten sposób: Kod imagettftext($stary, 10, 0, 29, 20, $kolor, "arial.ttf" , 'ąść'); To widzę to: A gdy w poprzednim pliku index.html mam taki formularz (wpisuje w nim też ąść) : Kod <form action="dalej.php" method="POST"> <input type=text name="text" size="50"/> <input type=submit value="Dalej ->"/> </form> A w pliku dalej.php dodaje napis na obrazek tak: Kod $text = $_POST['text']; imagettftext($stary_plik, $fontsiz, 0, $rozmiarx, $rozmiary, $kolor, "arial.ttf" , $text); To widzę to: Teraz już sam nic nie wiem. Pomoże ktoś, co zrobić, aby wyświetlały siepolskie znaki na obrazku? Dzięki. Ten post edytował wizu 16.02.2008, 22:26:45 |
|
|
16.02.2008, 22:26:16
Post
#8
|
|
Grupa: Zarejestrowani Postów: 875 Pomógł: 122 Dołączył: 2.02.2008 Ostrzeżenie: (0%) |
Jakiego kodowania używasz na stronie...? tekst musi być w UTFie...
Przykład z manuala który u mnie działa:
Tylko musisz uważać żeby plik zapisać w UTFie... Ten post edytował nowotny 16.02.2008, 22:32:24 |
|
|
16.02.2008, 22:42:05
Post
#9
|
|
Grupa: Zarejestrowani Postów: 127 Pomógł: 15 Dołączył: 16.02.2008 Skąd: Sanok Ostrzeżenie: (0%) |
W tym pliku php, który wyświetla obrazek nie mogę sobie zmienić kodowania. Bo w nim nie mogę użyć żanego znacznika html. Co masz na myśli piszać "Tylko musisz uważać żeby plik zapisać w UTFie..." bo nie bardzo zrozumiałem o jaki plik chodzi. Dzięki
|
|
|
16.02.2008, 22:43:42
Post
#10
|
|
Grupa: Zarejestrowani Postów: 382 Pomógł: 22 Dołączył: 21.05.2007 Skąd: Elbląg Ostrzeżenie: (0%) |
Nie możesz użyć meta? Dlaczego?
|
|
|
16.02.2008, 22:46:02
Post
#11
|
|
Grupa: Zarejestrowani Postów: 127 Pomógł: 15 Dołączył: 16.02.2008 Skąd: Sanok Ostrzeżenie: (0%) |
Bo używam header("Content-type: image/png");
Już same <html></html> psują wyświetlenie grafiki. A co do pomysłu nowotny, to dalej są te dziwne znaczki. Może to to, że plik nie jest zapisany w UTF-ie. Jednak nie wiem jak to zmienić Dzięki jeszcze raz za pomoc. Ten post edytował wizu 16.02.2008, 22:50:06 |
|
|
16.02.2008, 22:50:17
Post
#12
|
|
Grupa: Zarejestrowani Postów: 875 Pomógł: 122 Dołączył: 2.02.2008 Ostrzeżenie: (0%) |
|
|
|
16.02.2008, 22:52:37
Post
#13
|
|
Grupa: Zarejestrowani Postów: 127 Pomógł: 15 Dołączył: 16.02.2008 Skąd: Sanok Ostrzeżenie: (0%) |
Heh notatnik Dobra, przerzuce się na pajączka.
|
|
|
16.02.2008, 22:54:18
Post
#14
|
|
Grupa: Zarejestrowani Postów: 382 Pomógł: 22 Dołączył: 21.05.2007 Skąd: Elbląg Ostrzeżenie: (0%) |
przeżuć się na Notepad++ lub Notatnik SP
|
|
|
16.02.2008, 23:02:35
Post
#15
|
|
Grupa: Zarejestrowani Postów: 127 Pomógł: 15 Dołączył: 16.02.2008 Skąd: Sanok Ostrzeżenie: (0%) |
Panowie chwała wam za pomoc Już wszystko jest ok. W pliku index.html, gdzie był formularz trzeba było zmienić kodowanie na UTF-8. Dzięki jeszcze raz
|
|
|
16.02.2008, 23:05:10
Post
#16
|
|
Grupa: Zarejestrowani Postów: 382 Pomógł: 22 Dołączył: 21.05.2007 Skąd: Elbląg Ostrzeżenie: (0%) |
Z ciekawości, mógłbyś mi wysłać link na PW?
|
|
|
17.02.2008, 12:12:05
Post
#17
|
|
Grupa: Zarejestrowani Postów: 127 Pomógł: 15 Dołączył: 16.02.2008 Skąd: Sanok Ostrzeżenie: (0%) |
Co do polskich znaków metodą GET, to juz rozwiązałem ten problem. (A tak między nami, to wikipedia sobie tez z nimi nie radzi )
Wystarczy wstawić takie cos i wszystko śmiga: Kod $text = urlencode($_GET['text']);
$trans = array("+" => " ", "%EA" => "ę", "%F3" => "ó", "%B9" => "ą", "%9C" => "ś", "%B3" => "ł", "%BF" => "ż", "%9F" => "ź", "%E6" => "ć", "%F1" => "ń", "%3F" => "?", "%21" => "!"); echo strtr($text, $trans); |
|
|
17.02.2008, 12:43:36
Post
#18
|
|
Grupa: Zarejestrowani Postów: 875 Pomógł: 122 Dołączył: 2.02.2008 Ostrzeżenie: (0%) |
Od tego jest funckja urldecode" title="Zobacz w manualu PHP" target="_manual... :/ |
|
|
1.12.2011, 20:24:11
Post
#19
|
|
Grupa: Zarejestrowani Postów: 46 Pomógł: 0 Dołączył: 21.04.2009 Skąd: Białogóra Ostrzeżenie: (0%) |
Witajcie
stary ten wątek ale zagaję... Mam podobny problem chociaż może tu chodzić o naturę czcionki. Używam dokładnie tego samego skryptu który jest jako przykład w manualu php jak wyszukamy : imagettftext Jak używam czcionki arial to wszystko gra. Jeśli użyję Trajan Pro to polskie znaki zamieniają się w krzaki dokładniej w prostokąt z poprowadzonymi przekątnymi. Jak zrobię windowsowy podgląd czcionki trajan to są polskie znaki. To samo jeśli użyję jej w photoshopie. Pytanie czemu nie w imagettftext ? Pozdrawiam Już wiadomo trajan początkowo był w OTF - tak więc polskie znaki zaczęły działać jak się wrzuciło plik czcionki W TTF jak sama nazwa funkcji php mowi ) |
|
|
Wersja Lo-Fi | Aktualny czas: 1.06.2024 - 02:55 |