Autor Zpráva
segy
Profil *
<?
iconv_set_encoding("internal_encoding", "cp1250");
iconv_set_encoding("output_encoding", "UTF-8");

function URLize($text) {
$text = iconv('cp1250', 'UTF-8', $text);
$text = str_replace('\'', '', $text);
$text = preg_replace('/\W+/', '-', $text);
$text = trim($text, '-');
//$text = strtolower($text);
return $text;
}


echo URLize("aá");
?>

vysledok: aĂ

neviete niekto ako to rozbehat ??
souki
Profil
v jakém kódování máš skript a v jakém stránku?
segy
Profil *
kontroloval som, obidve cp1250...
souki
Profil
když ale vypisuješ do UTF-8, tak by si měl mít stránku taky v UTF-8, nemyslíš?
segy
Profil *
jasne, dal som obidve do UTF-8 a makke ť pise dobre, no dlhe á pise ako otaznik...
a ked to kodujem do ASCII tak pise:

iconv(): Detected illegal character in input string in c:\program files\easyphp1-8\www\iconv.php3 on line 20
pavel Prochazka.zde.cz
Profil *
re:iconv(): Detected illegal character in input string in c:\program files\easyphp1-8\www\iconv.php3 on line 20

no, dej si vypisovat ten text pred tou funkci, vypada to ze mu posilas neco co je mimo ASCII tabulku a to se mu nejak nelibi. Mozna ze krome znaku jeste nejak omylem vkladas jine znaky....
segy
Profil *
text dlhe á pred iconv() vypisujem:
pri kodovani stranky v UTF-8 vypise otaznik no pri kodovani stranky windows-1250 vypise dlhe á

no ked dam iconv() tak zas hodi illegal character. neda sa niekde vo windowse alebo apache nastavit kodovanie??
pavel Prochazka.zde.cz
Profil *
jeste jeden pokusek: udelejte cyklus kde budete string konvertovat po jednom znaku, tim zjistite na jakem znaku to kolabuje, je to jen pro zajimavost. Mozna vas potom napadne kde se vyskytuje problem, kdyz identifikujete problematickej znak....
Ja mam na svem free hostingu PHP 4 a funkce iconv jde az na php5 a tak jsem si tu funkci napsal. Jedna se jen o obycejnou tabulku kde se urcity znak vymeni za jiny znak. Ale mam to jen z 1250 to UTF-8 ale to neni problem to obratit. kDYZA tak mohu poslat kod.... Je velice primitivni...
segy
Profil *
no mojim cielom je z textu s diakritikou spravit text bez diakritiky, teda konvertovat do ASCII.
urobim teda ten pokus ze ci to nebere len dlhe á alebo aj ine znaky.
ak Vas napada ako spravit text bez diaritky tak napiste, mozete aj prilepit vas script(tu na fore).

btw moc neuznavam prepisovanie znakov natvrdo, ale aj tak ukazte ten script. diky moc.
pavel Prochazka.zde.cz
Profil *
no pokud se jedna jen to odstraneni diakrityky tak pouzijte toto:

function StandartString ($sBuffer){
//Tato funkce odstrani diakritiku a velka pismena prevede na mala...
$sBuffer=StrTr($sBuffer,"áÁéÉíÍóÓúÚůŮýÝěĚšŠčČřŘžŽťŤďĎňŇQWERTYUIOPASDFG HJKLZXCVBNM","aaeeiioouuuuyyeessccrrzzttddnnqwertyuiopasdfghjklzxcvbnm ");
return $sBuffer;
}

funkce jeste prevadi veskeravelka pismena na mala :)
segy
Profil *
dik pouzijem ak nerozchodim iconv
pavel Prochazka.zde.cz
Profil *
a zde mas tu konvertovaci funkci:
http://diskuse.jakpsatweb.cz/index.php?action=vthread&forum=9&topic=25 262
segy
Profil *
btw odkud mate ty znaky? sou tam urcite vsetky??
pavel Prochazka.zde.cz
Profil *
Predpokladam ze jsout tam vsechny, ale to asi nebudou, je to pokus omyl.... Funkci jsem pouzil na svem webu a dival jsem se kde co me chyby. Uz jsem nic nenasel.... Tal je tam tech znaku hodne.... ale urtite ne vsechny.... Jedine si sehnat tabulku UTF-8 a 1250 a podle toho udelat konvertovaci funkci... Ale to se me na netu nepovedlo...
segy
Profil *
no jedina nadej je ze iconv rozbeham na webhostingu, doma sa zaobidem
Toto téma je uzamčeno. Odpověď nelze zaslat.

0