Witam mam takie problem po migracji z maszyny windows server 2003 na centosa przestały mi działać polskie znaki w jednym bardzo ważnym skrypcie ze strukturą , który łączy sięz bazą danych poprzez odbc_connect jak wiadomo to trochę inaczej wygląda na centosie z racji na inny driver w związku z powyższym musiałem zmienić connect string z

$conn = odbc_connect("Charset=cp1250;DRIVER={MySQL ODBC 5.1 Driver};ServerName=127.0.0.1;Database=db;uid=root;pwd=123;CommLinks=tcpip(Host=1
27.0.0.1;port=3306)","root","123");

na wersję gdzie zamiast charset = jest nazwa data-source w tym przypadku mysqlBaza i wyrzuciłem też nazwę drivera reszta pozostała nietknięta tak jak parametry bazy danych i połączenia z serwerem (w bazie danych nie ma krzaków tylko normalne znaki więc wnioskuję że problem jest z połączeniem na linii baza-strona) a poniżej cały skrypt .
Czy mógłbym prosić o pomoc w sprawie tego jak w najłatwiejszy sposób sprawić żeby polskie znaki zaczęły działać i tym samym uruchamiało się to na IE bo to jest kluczowa sprawa a w tej chwili uruchamia się na wszystkich innych przeglądarkach ale z krzakami a na IE wcale puste pole w tym miejscu.

problem występuje w tej części
  1. <?
  2. header("Expires: Mon, 26 Jul 1998 01:00:00 GMT"); // Date in the past
  3. header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); // always modified
  4. header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
  5. header("Pragma: no-cache"); // HTTP/1.0 // sleep(2);
  6.  
  7. $input = $_GET['input'];
  8. $len = strlen($input);
  9. $limit = isset($_GET['limit']) ? (int) $_GET['limit'] : 0;
  10. $res_t = array();
  11. $count = 0;
  12.  
  13. include ('inc.func.php');$conn = dbconnect();
  14. if ($len or 1) {
  15. #$input = mysql_escape_string(trim(strip_tags(($input))));
  16. #$input = iso2cp(mb_strtolower(mb_convert_encoding ($input, "iso-8859-2", "utf-8"), "iso-8859-2"));
  17. $input=iconv("windows-1250","utf-8",$input);
  18. //echo $input; die();
  19. $q0 = "select count(*) as cnt
  20. from employee
  21. inner join employeeunit on employee.id = employeeunit.employee_id
  22. inner join unit on employeeunit.unit_id = unit.id
  23. left join position on unit.departament = position.id
  24. where length(employee.photourlsuffix)>4 limit 1";
  25.  
  26. $res = get_all_rows($q0);
  27. $count = $res[0]['cnt']; //echo "z";die ();
  28. //error_log ($count);
  29. do {
  30. $randlimit = mt_rand(1,$count); //echo ($randlimit);
  31. //error_log($randlimit);
  32. $q = "select *, employee.photourlsuffix as ephoto,unit.name as unit__name, unit.id as unit__id,
  33. db.getunitroot_company_id(unit.id) as spolka, employee.id as employee__id,
  34. position.floor as depfloor, position.filename as depfilename, position.name as depname
  35. from employee
  36. inner join employeeunit on employee.id = employeeunit.employee_id
  37. inner join unit on employeeunit.unit_id = unit.id
  38. left join position on unit.departament = position.id
  39. where length(employee.photourlsuffix)>4 limit ".$randlimit.",1";
  40.  
  41. // jak wylosuje z niefunkcjonalnej losowac jeszcz eraz
  42. // estructuredb.getunitroot_company_id(unit.id) as spolka
  43.  
  44. //$q.="group by employee.id order by lastname, firstname limit 100";
  45. $res=get_all_rows($q);// print_R($res);
  46. } while ($res[0]['spolka'] <> 2184);
  47. odbc_close($conn);
  48.  
  49. for ($i=0;$i<count($res);$i++) {
  50. #if (strtolower(substr(utf8_decode($aUsers[$i]),0,$len)) == $input) #{
  51. $count++;
  52. $res[$i]['firstname'] = win2utf($res[$i]['firstname']);
  53. $res[$i]['lastname'] = win2utf($res[$i]['lastname']);//.' '.$res[$i]['spolka'];
  54. $res[$i]['unit__name'] = win2utf($res[$i]['unit__name']);
  55. $res[$i]['iconurlsuffix'] = win2utf($res[$i]['iconurlsuffix']);
  56. $res[$i]['ephoto'] = win2utf($res[$i]['ephoto']);
  57. $res[$i]['stanowisko'] = substr(win2utf($res[$i]['stanowisko']),0,80);
  58.  
  59.  
  60. //echo '<pre>';print_r($res[$i]);
  61. //die();
  62. if (strlen($res[$i]['telephone'])>2) $tel = "".$res[$i]['telephone'].""; else $tel="";
  63. if (strlen($res[$i]['mobile'])>6) $mobile = ", ".$res[$i]['mobile']; else $mobile="";
  64. $contact = $tel."".$mobile;
  65.  
  66. if ($res[$i]['depfloor'] > 1 )
  67. $floor = $res[$i]['depfloor'];
  68. elseif ($res[$i]['floor'])
  69. $floor = $res[$i]['floor'];
  70. else
  71. $floor = "";
  72.  
  73. $res_t[] = array(
  74. "eid" => $res[$i]['employee_id'],
  75. "uid" => $res[$i]['unit__id'],
  76. "name" => ($res[$i]['firstname'].' '.$res[$i]['lastname']),
  77. "contact" => htmlspecialchars($contact),
  78. "floor" => htmlspecialchars($floor),
  79. "stanowisko" => htmlspecialchars($res[$i]['unit__name']),
  80. "iconurl" => htmlspecialchars($res[$i]['iconurlsuffix']),
  81. "photourl" => htmlspecialchars($res[$i]['ephoto']),
  82. );
  83. #}
  84.  
  85. //echo "<img src='/foto/".$res[$i]['ephoto']."'>";
  86. if ($limit && $count==$limit)
  87. break;
  88. }
  89. }
  90. //sleep(1);
  91. if (isset($_REQUEST['json'])){}
  92. //echo '<pre>';print_r($res_t);
  93. $l = $res_t[0];
  94. //print_r($l);
  95. if ($floor) $txtfloor = win2utf(", {$l['floor']} piętro");
  96. echo <<<EOD
  97. <div class="kjkblok" style="margin:0px;font-size:10px;text-align:center" >
  98. <a href="/kim/forma?uid={$l['uid']}"><img src="/foto/{$l['photourl']}" style=""/></a>
  99. <br>
  100. <span style="color:#103184;">{$l['name']}</span>
  101. <div style="border-top:1px solid gainsboro;text-align:center">
  102. <span class="blok_stanowisko" style="color:gray">{$l['stanowisko']}{$txtfloor}</span>
  103.  
  104. <br style="clear:both"/>
  105. </div>
  106. </div>
  107.  
  108. EOD;
  109.  
  110. //odbc_close($conn);
  111. ?>