Witam
Mam problem z kasowanie polskich znaków, które są wyciąganie z bazy danych.
W bazie danych mam tekst z polskimi znakami, baza zapisuje tekst w latin2_general_ci.
Strona jest wyświetlana w iso-8859-2.
Skrypt połaczenia bazy danych
FUNCTION dbconn($autoclean = false)
{
global $mysql_host, $mysql_user, $mysql_pass, $mysql_db;
IF (!@mysql_connect($mysql_host, $mysql_user, $mysql_pass))
{
switch (mysql_errno())
{
case 1040:
case 2002:
case 1203:
IF ($_SERVER[REQUEST_METHOD] == "GET")
die("<html><head><meta http-equiv=refresh content=\"10 $_SERVER[REQUEST_URI]\"></head><body><table border=0 width=\"100%\" height=100%><tr><td><h3 align=center>Serwer w tym momęcie jest bardzo obciążony. Automatyczne odświeżanie, proszę czekać...</h3></td></tr></table></body></html>");
else
die("Too many users. Please press the Refresh button in your browser to retry.");
DEFAULT:
die("[" . mysql_errno() . "] dbconn: mysql_connect: " . mysql_error());
}
}
mysql_select_db($mysql_db)
OR die('dbconn: mysql_select_db: ' + mysql_error());
user();
mysql_query("SET NAMES 'latin2'");
mysql_query("SET CHARACTERSET 'latin2'");
IF ($autoclean)
register_shutdown_function("autoclean");
}
skrypt czyszczący znaki PL
function znaki($text){
"\xb1", "\xe6", "\xea",
"\xb3", "\xf1", "\xf3",
"\xb6", "\xbc", "\xbf",
"\xa1", "\xc6", "\xca",
"\xa3", "\xd1", "\xd3",
"\xa6", "\xac", "\xaf",
);
"\x61", "\x63", "\x65",
"\x6c", "\x6e", "\x6f",
"\x73", "\x7a", "\x7a",
"\x41", "\x43", "\x45",
"\x4c", "\x4e", "\x4f",
"\x53", "\x5a", "\x5a",
);
foreach($text as $key => $value) {
}
return $array;
}else {
}
}
nie mam pojęcia dla czego polskie znaki nie są czyszczone.
Ten post edytował nowyyy31 20.05.2010, 11:24:12