Šumniki

Ker nimam več nobene ideje upam da mi kdo lahko pomaga.

V php datoteki imam več takih vrstic, ki pač delajo polja za izbiro:

global $optionmail;
$option
mail = array(
'gmail.com' => 'https://mail.google.com/',
'yahoo.com' => 'http://mail.yahoo.com/',
);

php se začne z:
function getcity($ip=null) {
global $INI;
$cities = option
category('city');
$ip = ($ip) ? $ip : Utility::GetRemoteIP();
$url = "http://open.baidu.com/ipsearch/s?wd={$ip}&tn=baiduip";
$res = mbconvertencoding(Utility::HttpRequest($url), 'UTF-8', 'UTF-8');
if ( preg_match('#??:<b>(.+)</b>#Ui', $res, $m) ) {
foreach( $cities AS $cid=>$cname) {
if ( FALSE !== strpos($m[1], $cname) ) {
return Table::Fetch('category', $cid);
}
}
}
return array();
}

To je dejansko vsa koda ki je v datoteki. Problem je, ker moram nekatere stvari poimenovati s šumniki, pač se temu nikakor ne morem izognit.
Če je datoteka shranjena kot ANSI spletna stran deluje normalno, ampak mi ne prikazuje šumnikov, takoj ko jo shranim kot UTF-8 pa se pojavijo problemi, saj se mi stran ne nalaga več pravilno. :)

Kaka pametna ideja kaj naredit?

13 odgovorov

še ena stvar, ker mam občutek da vas večina misli da mi ne prikazuje šumnikov: šumniki se mi prikazujejo pravilno ko shranim kot UTF-8,
problem ki nastane pri tem je, da se mi po tem stran ne prikazuje pravilno.

Potem pri shranjevanju v bazo uporabi htmlentities($_POST['nekaj']);

Pri izpisu pa htmlentitydecode($row['nekaj']).

Meni na ta način vedno dela.

set names utf8 se pošlje kot prva zadeva na bazo? Ker privzeto je v mysql drugače povezava v latin1.