PDA

Zobacz pełną wersję : polskie symbole



jan_dax
27-11-2006, 08:57
y mnie jest taki kod
<?php
echo ("<a href=\"index.php?option=com_adress&Itemid=$Itemid&letter="._TEXT_SONG_ALL."\" title=\""._TEXT_SONG_ALL."\">"._TEXT_SONG_ALL."</a>,&nbsp;");
echo ("<a href=\"index.php?option=com_adress&Itemid=$Itemid&letter=0-9\" title=\"0-9\">#</a>&nbsp;");
for ($char=65;$char<=90;$char++){
if (chr($char)==$letter){
echo chr($char)."&nbsp;&nbsp;";
}else{
echo ("<a href='index.php?option=com_adress&Itemid=$Itemid&letter=".chr($char)."' title='".chr($char)."'>".chr($char)."</a>&nbsp;");
}
}
//echo "<br>";
?> ktory pisze alpabet w jezykie angielskim. lecz ja chce miec polskie litery . to jakie cyfre adpowiada mianowicie dla polskiego alpabety.

przepraszam za moj polski, bo jestem sam z bialorusi.

Rybik
27-11-2006, 09:50
to zależy od strony kodowej czyli od standardu w jakim polskie znaki są kodowane, w polsce oficjalnym standardem jest ISO-8859-2
http://pl.wikipedia.org/wiki/Spos%C3%B3b_kodowania_polskich_znak%C3%B3w
polskie litery po kolei tak jak sa w alfabecie nie maja kolejnych numerow, dlatego nie mozna uzyc tej funkcji ktora napisales, zamiast tego trzeba uzyc tablicy znakow:


<?php
$pl_char_arr=array(65,161,66,67,198,68,69,202,70,7 1,72,73,74,75,76,77,78,209,79,211,80,81,82,83,166, 84,85,172,175);
echo ("<a href=\"index.php?option=com_adress&Itemid=$Itemid& letter="._TEXT_SONG_ALL."\" title=\""._TEXT_SONG_ALL."\">"._TEXT_SONG_ALL."</a>,&nbsp;");
echo ("<a href=\"index.php?option=com_adress&Itemid=$Itemid& letter=0-9\" title=\"0-9\">#</a>&nbsp;");
foreach ($pl_char_arr as $char){
if (chr($char)==$letter){
echo chr($char)."&nbsp;&nbsp;";
}else{
echo ("<a href='index.php?option=com_adress&Itemid=$Itemid&letter=".chr($char)."' title='".chr($char)."'>".chr($char)."</a>&nbsp;");
// echo ("<a href='index.php?option=com_adress&Itemid=$Itemid&letter=$char title='".chr($char)."'>".chr($char)."</a>&nbsp;");
// linia powyzej pokazuej polskie litery ale w adresie URL przekazuje cyferki

}
}
//echo "<br>";

?>

to jest zestaw znakow w standardzie ISO-8859-2, inne standardy znajdziesz na stronie ktora podalem

uwaga! dodatkowo podałem inna linie kodu, zaraz po oryginalnej, bo polskie znaki moga sie blednie przenosic w adresie, a w formie cyferek zawsze beda dobrze, tylko skrypt ktory to bedzie czytal (adres url) musi miec mala zmiane , tak zeby wiedzial ze dostaje kod litery a nie litere i dopiero tam sobie ja przekonwertowal, o ile to potrzebne

jan_dax
04-12-2006, 10:07
nie udaje sie. nie moge polaczyc obydwaj alpabety. u mnie na stronie win-1251.
ale, proponuja wukorzustac rawurlencode. jak mam to zrobic?

jak dziala zobaczcie tu http://www.grodnensis.by/site/index.php?option=com_textsong&Itemid=135&lang=pl

a. i jak zrobic, zeby w modulah polskie symbole prawidlowo byli wyswietlane? popatrzcie w gore - Gł&#243;wna - i taw wszystkie nazwy

Rybik
04-12-2006, 17:10
na razie wszystko Ci sie dobrze wyswietla i sa polskie znaki

w sprawie alfabetu: nie dziala bo ja napisalem dla ISO-8859-2 , strona kodowa win 1251 nie zawiera polskich znakow wiec bedziesz mial klopot. Chyba nie ma sensu przerabiac strony na utf ale mozna uzyc wymuszonych kodow UTF:
http://www.unikod.pl/ogonki.html tam masz tabele polskich znakow w UTF na przyszłość :)


<?php
$letter=$_GET['letter'];
$pl_char_arr=array(A,'&#260',B,C,'&#262',D,E,'&#280',F,G,H,I,J,K,L,'&#321',M,N,O,'&#211',P,Q,R,S,'&#346',T,U,V,W,X,Y,Z,'&#377','&#379');
echo ("<a href=\"index.php?option=com_adress&Itemid=$Itemid& letter="._TEXT_SONG_ALL."\" title=\""._TEXT_SONG_ALL."\">"._TEXT_SONG_ALL."</a>,&nbsp;");
echo ("<a href=\"index.php?option=com_adress&Itemid=$Itemid& letter=0-9\" title=\"0-9\">#</a>&nbsp;");
foreach ($pl_char_arr as $char){
if ($char!=$letter) {
$html="<a href='index.php?option=com_adress&Itemid=$Itemid&letter=".rawurlencode($char)."' title='".$char."'>".$char."</a>";
} else $html=$char ;
echo "<span style=\"padding: 2px;\">$html</span>\n";
}
?>

a to kodzik z polskimi literami dla win1251 (i kazdego innego charsetu), z uzyciem bezpiecznego przekazywania znaku do URL

jan_dax
05-12-2006, 15:23
aga, dzieki. lecz gdzie odnalezc kody liter w jenzukie bialoruskim... cala godzine siedzial - i nic... naprz ў і - dla kody win-1251