| Autor | Zpráva | ||
|---|---|---|---|
| suprman Profil * |
#1 · Zasláno: 16. 11. 2006, 20:39:18
Mam taky problem... Mam urcity retazec ktory ma kodovanie Windows-1250. Vymyslel som si celkom jednuduchy system na prevadzanie kodovania z Window-1250 do vsetkych kodovani. Ide o to, ze ked chcem zapisat znak co ma umiestnenie v tabulke vecsie ako 128, teda ak je jeho ord() hodnota vecsia ako 128 bude sa prevadzat na HTML entitu. Napr. znak, ktory je v tabulke umiestneny ako 156 tak sa prevedie na
Toto je ten prekladac: subor text.php (kodovanie je Windows-1250): <? header("Content-type: text/html;charset=Windows-1250"); $str = "ČĆč抌šśáú"; echo "document.write('"; for ($i=0;$i<strlen($str);$i++) { if (ord($str{$i}) >= 128) { echo "".ord($str{$i}).";"; } else { echo $str{$i}; } } echo "');"; ?> subor index.php (ine kodovanie): <? header("Content-type: text/html;charset=UTF-8"); ?> <script src="text.php" language="javascript" type="text/javascript"></script> Funguje to tak, ze subor text.php vygeneruje retazec z nahradenymi znakmi a ten bude potom cez javascript zobrazeny v indexe, ktory ma ale nemusi mat ine kodovanie - nefunguje mi to ani ked ma index a text rovanke kodovanie (teda windows-1250). Toto mi ale nefunguje na 100%. Nie vsetky znaky to prelozi spravne. V com je problem? Vdaka |
||
| Peca Profil |
#2 · Zasláno: 16. 11. 2006, 20:58:07
$str{$i};
Neměly by tam být hranaté závorky? |
||
| suprman Profil * |
#3 · Zasláno: 17. 11. 2006, 11:08:01
nie...
Priklad: $x = "abcdefghij"; echo $x{3}; // napise to "c" Toto je vlastne to iste ako substr($x, 1, 3); |
||
| Peca Profil |
#4 · Zasláno: 17. 11. 2006, 13:14:16
Problém bude v tom, že např. Č má #200, ale zapisuje se jako Č
A stejně si myslím, že by tam měly být hranaté závorky :-p |
||
|
Časová prodleva: 19 let
|
|||
Toto téma je uzamčeno. Odpověď nelze zaslat.
0