Autor Zpráva
e1sokol
Profil
Mam aplikaciu v PHP pod Win.

Z webu nacitavam formulare s kodovanim cp1250.

V aplikacii su nacitane udaje a su konvertovane na male pismo

$data = strtolower($_POST["data"]);

Taktiez potrebujem odstranit diakritiku, na to pouzivam nasledujuci script:

$sk=array('á','ä','č','ď','é','ě','ë','í','ľ','ĺ','ň','ó','ô','ő','ö' ,'ŕ','ř','š','ś','ť','ú','ů','ű','ü','ž','ý');
$uk=array('a','a','c','d','e','e','e','i','l','l','n','o','o','o','o' ,'r','r','s','s','t','u','u','u','u','z','y');

$skl = sizeof($sk);
$ukl = sizeof($uk);

if($skl == $ukl):
for ($i = 0; $i < $skl; $i++):
$ciste_data= str_replace("$sk[$i]", "$uk[$i]", "$data");
endfor;
else:
echo "Vadná prevodová tabuľka.";
endif;

A v dalsom kroku pouzivam nasledujucu funkciu na zmenu prveho pismena na velke.

$data = ucfirst($data);

Pokial to bezi pod WIN je vsetko v poriadku. Ako nahla to dam pod Linux, kde to bud v konecnom stadiu bezat, prestane sa to spravat korektne.

POTREBUJEM PORADIT ako presvadcit php pod Linuxom, ze ma pracovat zo znakovaou sadou v kodovani 1250.

Dakujem za radu.
nightfish
Profil
e1sokol
nemá ten linuxový server v Apachi nastaveno DefaultCharset (samozřejmě odlišné od windows-1250)?
obsahuje tento skript specifikace použitého kódování (ať již v tagu metu, nebo v hlavičce HTTP)?
e1sokol
Profil
Aj Apache ako aj hlavicka dokumentu su nastavene na windows-1250 na oboch servroch t.j. WIN aj LIN.

Potrebujem riesenie, ktore je nazavisle na nastaveni servra. Predstav si, ze ides na cudzi server kde nemas moznost menit nastavenie servra. (webhosting)

PHP prebera lokalne nastavenie zo systemu. Potrebujem vediet ako mu povedat ze dana cast skriptu ma bezat na inom ako systemovam nastaveni.

Prave sa predieram cez funkcie iconv. Uvidim co z toho bude.
nightfish
Profil
e1sokol
předpokládám tedy, že skript je napsán a uložen ve windows-1250
když na začátek skriptu dáš Header("Content-type: text/html; charset=windows-1250");
poběží to správně?
e1sokol
Profil
stranka vyzera nasledovne

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=windows-1250">
<title>Meno stranky</title>
<link rel="stylesheet" type="text/css" href="css/silver.css">
</head>
<body>

Vo Windows to bezi v pohode. Problem je len pod Linuxom.
MySQL pracuje spravne.

Nekorektne sa prava konverzia male pismo na velke a opacne.
Toto téma je uzamčeno. Odpověď nelze zaslat.

0