Jump to content
php.lv forumi

atkal UTF-8


nemec

Recommended Posts

man ir uztaisiita funkcija, kura kjeburus pārveido par normāliem burtiem...

nu piemēram: $kjeburs =" Latvijya dzyivo tryis sestdaylas latvieysu, divas sestdaylas krievu un viena sestdayla latgalieysu - kruto protams...."

tad funkcija attyeloyasana($kjeburs,"lv",$razmers); vērtība ir "Latvijā dzīvo trīs sestdaļas latviešu, divas sestdaļas krievu un viena sestdaļa latgaliešu - kruto protams....

 

ja funkcijā ir norādīts razmers, tad

if ($razmers==0) { return $galva; }

else { if ($razmers>=strlen($galva)) { return $galva; } else { $galva=substr($galva,0,$razmers); return "".$galva."...";} }

}

 

 

ši funkcija man saglabāta atseviškā failā, UTF-8,

savus kodus es rakstu ANSI un taisu include šai funkcijai.

problēma tāda, ja $razmers ir nulle (vispār nav), tad strādā viss perfekti.

bet kad norādu $razmeru, tad funkcija dažreiz strādā, dažreiz nē: karoče Browserī pirms pievienotā daudzpunktā izdrukā UTF-8 jautājuma zīmi, cipa neatpazīst pēdējo simbolu.

Jautājums, kā to labot?????

tikai nesakiet, ka man šī funkcija nav vajadzīga, tā tulko visus ķeburus man vajadzīgajā valodā, ļoti ērta īstenībā, ja lapā vairākas valodas.....

Link to comment
Share on other sites

1.) Ja tev vajag UTF-ā, un kādā brīdī ne-UTF failā ir kādas string konstante, tad iepējams būs kjeburi tai... jo UTF nav tikai viens baits... tie ir veseli 2 un pat 4...

 

2.) Raksti mainīgo nosaukumus ANGLISKI! ... no tava koda nevar saprast kas ir kas.

 

3.) raksti skaidrāk jautājumus (šim ir veltīts pat FAQ, kā rakstīt pareizi)

 

4.) .. tāpēc neatbildēšu, jo nevaru iebraukt, ko tu jautā un par ko...

Link to comment
Share on other sites

to delfins: nu vareeju jau arii pateikt, kur to FAK lai meklee, mosh jams pat to nezin

Speciaali rakstiit posti, lai beigaas pateiktu, ka Nē, es tev neatbilsdeeshu...

 

to nemec: ko tas tavs $razmers dara, kaadiem noluukiem vinjsh domaats? Un kas ir $galva - strings ar/bez kjeburiem, kaadiem..?

Edited by Analgiins
Link to comment
Share on other sites

UTF-8, kā zini, viens latviešu simbols var izstiepties pa diviem baitiem (ja lieto simbolus, kas izstiepjas pa vairāk baitiem, metode kļūst nedaudz sarežģītāka, bet to neapskatīsim). Tātad, substr lietot fiksētā izmērā nedrīkstēs - tev ir jāpārbauda, vai netiek cirsts UTF burts uz pusēm. Ir jāapskata pēdējais simbols un jāpārbauda, vai tā ASCII kods mazāks/vienāds par 0x7F. Ja tā, tad sadalīts pareizi, pretējā gadījumā jācērt vai nu vienu simbolu uz priekšu, vai atpakaļ.

 

http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8

Link to comment
Share on other sites

×
×
  • Create New...