Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> GD polskie znaki, problem maly ...
toczek
post
Post #1





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 20.06.2005
Skąd: krakow/rzeszow

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


witam.

Walcze juz z tym chwile i nie mam pomyslu to wrzucam tutaj moze ktos sie spotkal.
Problem polega na tym iz generuje obrazki z dynamicznym tekstem i w tym tekscie moga znalezc sie polskie znaki. (Czcionka zawiera polskie znaki).

moze przyklad:
  1. <?php
  2.  
  3. imagettftext($resImg,20,0,10,30,$intBlack,$strFontPath,'abcąśćś');
  4.  
  5. ?>


i takie cos wyrzuci mi poprawny ciag znakow bez zadnych krzakow/prostokatow itd. Plik skryptu kodowany jest w UTF-8.

ale jesli teraz chcialbym zrobic, ze:

  1. <?php
  2.  
  3. imagettftext($resImg,20,0,10,30,$intBlack,$strFontPath,$_GET['text']);
  4.  
  5. ?>


to wyrzuca obrazek z krzakami (w $_GET['text'] sa polskie znaki) angrysmiley.gif ... probowalem z urldecode(), mb_convert_encoding() i podobnymi ale do niczego sensownego nie moge dojsc.
Problem prawdopodobnie wynika z faktu ze w adresie mam np: index.php?text=%c4%85 (co odpowiada jednemu znakowi) ale np.: strlen() zwroci mi "2" ;/ , ale zeby bylo ciekawiej to var_dump($_GET['text']) wyswietla prawidlowo nawet bez zadnego zabiegu ...

ktos ma jakis pomysl jak to rozwiazac ?

Ten post edytował toczek 14.04.2006, 14:47:17


--------------------
nihil novil ...
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
ghostdog
post
Post #2





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 14.04.2006

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


Też kiedyś miałem z tym problem.
Polecam funkcje sprawdzic w dokumentacji funkcję iconv()
Go to the top of the page
+Quote Post
toczek
post
Post #3





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 20.06.2005
Skąd: krakow/rzeszow

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


oczywiscie najprostsze rozwiazania sa najlepsze ;]
wystarczylo ustawic

  1. <?php
  2.  
  3. mb_internal_encoding('UTF-8');
  4. $strText = trim(strip_tags($_GET['text']));
  5.  
  6. ?>


i potem jak sie przesuwam po literkach dac odpowiedniki mb_* zamiast zwyklych strlen i substr:

  1. <?php
  2.  
  3. for($i=0;$i<mb_strlen($strText);$i++)
  4. {
  5. $strValue = mb_substr($strText,$i,1);
  6. ...
  7. }
  8.  
  9. ?>


dzieki za sugestie ;]


--------------------
nihil novil ...
Go to the top of the page
+Quote Post

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 Aktualny czas: 21.08.2025 - 05:09