Autor | Zpráva | ||
---|---|---|---|
T3RMiX Profil |
#1 · Zasláno: 23. 5. 2005, 16:44:13
Snažím se generovat RTF soubor dle tohoto návodu http://suplik.petnik.cz/priklady/vytvoreni-rtf-navod-pismo-odstavec.ht ml ale narazil jsem na problém s češtinou. Honza Hučín tam píše o hexa kódu znaku, zkoušel jsem si ho vracet přes bin2hex(), ale nevim co to vrací za číslo, ale určitě to není hexa znaku. Nevíte někdo jak dostat ze znaku hexa kód pomocí PHP?! díky
|
||
Kajman Profil * |
#2 · Zasláno: 23. 5. 2005, 17:32:10
dechex(ord('a'))
|
||
T3RMiX Profil |
#3 · Zasláno: 23. 5. 2005, 19:24:27
IMHO to není to co potřebuji např. z "á" to vrátí C3 a hexa malého á je E1...
|
||
Kajman Profil * |
#4 · Zasláno: 24. 5. 2005, 10:28:20
Tak jsem to zkusil. Mně to vrací e1. Pokud tam strkáš unicode, tak ord nelze použít a ani ten kód nemůže být E1.
|
||
T3RMiX Profil |
#5 · Zasláno: 24. 5. 2005, 11:26:11
Bohužel tam Unicode strkám, prozatim jsem si na to napsal fci
$a = array("á"); samozřejmně z celou diakritikou, leč se mi to nezdá moc efektivní... |
||
llook Profil |
#6 · Zasláno: 24. 5. 2005, 20:20:44
Snad v žádném Unicode kódování nemůže být "á" jeden byte. Třeba v UTF-8 má "á" dva byty: c3a1. A funkce bin2hex mi tuhle hodnotu vrací.
Ord se na utf-8 použít nedá, protože ten vrátí právě velikost prvního bytu (počítá se single-byte kódováním, jako spousta funkcí v PHP). |
||
printf Profil |
#7 · Zasláno: 24. 5. 2005, 23:51:40
jestli potřebuješ místo 'á' kód pro krátké 'a', tak se to dá předtím ztransformovat s použitím pole a funkce strtr, kdy se odstraní všechna diakritika a pak ord.
Nebo přímo to s tím polem: $ords=array("a" => "\'E1", ..... "á" => "\'E1" ...); případně: $ords=array("a" => 225, ..... "á" => 225 ...); proč by to nebylo efektivní? |
||
Časová prodleva: 19 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0