Autor | Zpráva | ||
---|---|---|---|
Matess Profil * |
Ahoj nevíte náhodou někdo proč mi fce substr() koní české znaky?
echo substr('asdfž', -2, 2); // vypíše pouze ž místo fž echo substr('asdžf', -2, 2); // vypíše �f (nějaká divná čárka + f) místo žf pokud je český znak až na konci, tak se vypíše pouze on, ale pokud je předposlední, tak to vypíše nějaký nesmysl. Prosím poraďte co dělám špatně. Děkuji |
||
Taps Profil |
#2 · Zasláno: 29. 7. 2009, 08:24:36
Matess
pokud používáš kodování UTF-8 tak zkus mb_substr |
||
avenger Profil |
#3 · Zasláno: 29. 7. 2009, 11:00:41
Znak s háčkem nebo čárkou zabírá 2 místa. Takže v tvém případě musíš mít:
echo substr('asdfž', -3, 3); // vypíše fž echo substr('asdžf', -3, 3); // vypíše žf |
||
AM_ Profil |
#4 · Zasláno: 29. 7. 2009, 11:51:50
avenger
většinou, když tu funkci používáš, nevíš, co bude na vstupu, to by jinak ani nemělo smysl ji použít, že. Takže, jak píše Taps, při UTF-8 je nutné používat mb_* funkce. |
||
Matess Profil * |
#5 · Zasláno: 29. 7. 2009, 13:15:06
AM_
Taps Díky. |
||
Matess Profil * |
#6 · Zasláno: 29. 7. 2009, 18:07:15
Taps
AM_ Tak to pořád nejde. Problém se opakuje pořád dokola. Prosím poraďte někdo čím by to mohlo být? |
||
Matess Profil * |
#7 · Zasláno: 30. 7. 2009, 08:05:21
Takže mi nikdo neporadí?
|
||
jso Profil * |
#8 · Zasláno: 30. 7. 2009, 08:19:35
echo mb_substr('asdfž', -2, 2, 'utf-8') echo mb_substr('asdžf', -2, 2, 'utf-8') |
||
Matess Profil * |
#9 · Zasláno: 30. 7. 2009, 08:38:50
jso
Taky bohužel ne. Vypíše to : f� �f |
||
Matess Profil * |
#10 · Zasláno: 30. 7. 2009, 08:50:23
jso
Tak už to mám. Děkuji |
||
jso Profil * |
#11 · Zasláno: 30. 7. 2009, 08:58:50
Matess
tak napiš pro ostatní řešení |
||
Jan Tvrdík Profil |
#12 · Zasláno: 30. 7. 2009, 09:03:25
jso:
Tvé řešení funguje (Pokud teda pracuje v UTF-8). |
||
jso Profil * |
#13 · Zasláno: 30. 7. 2009, 09:09:00
Jan Tvrdík
právě proto jsem se ptal, co nad tím vymyslel. Ono já php neumím... |
||
Matess Profil * |
#14 · Zasláno: 30. 7. 2009, 09:55:43
Omlouvám se špatně jsem to napsal.
Řešení jso opravdu funguje. Mě to nešlo, protože jsem si přepnul kodování v PsPadu. Ještě jednou se omlouvám a děkuji. |
||
Časová prodleva: 15 let
|
0