Click here to Skip to main content
Rate this: bad
good
Please Sign up or sign in to vote.
See more: Javascript PHP jQuery
Search is not working on IE, but works great on Chrome, Safari, Opera, Firefox.
 
it works great when it searches into database english characters on IE 10 but nothing shows as text when it searches into database to find greek characters. This happens only with IE.
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript" src="js/textinputs_jquery.js"></script>
<script type="text/javascript" src="js/textinputs_jquery_src.js"></script>
<script>
$(document).ready(function(){
 
$("#comp_text").live('input paste',function(){
var str=document.getElementById("comp_text");
if (str.value.length <3){
return false;
}
var twidth=str.offsetWidth;
$('#txtHint').width(twidth);
$('#txtHint').load('gethint.php?q='+str.value);
});
$(".add").submit( function(){
if($('#company').length){
return true;
}else{
alert("");
return false;
}
});
});
 
function showHint(str)
{
if (str.length==0)
{
document.getElementById("txtHint").innerHTML="";
return;
}
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp. önreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","gethint.php?q="+str,true);
xmlhttp.send();
}
 

function set_val(str, company){
document.getElementById('comp_text').value= str;
document.getElementById('txtHint').innerHTML="";
document.getElementById("customer_place").innerHTML='<input type="hidden" id="company" value="'+company+'">';
}
function cust_control(){
 
if (document.getElementByName('company')){
alert ("");
return false;
}else
return true;
}
 
</script>
<form method=\"post\" name=\"addn\" class=\"add\" action=\"do_insert.php\">
<input type="text" id="comp_text" önkeyup="showHint(this.value)" name="company" size="20" style="text-align: center; font-size: 13px;"/>
<div id="txtHint"></div>
<div id="customer_place"></div>
</form>
 

 

 
and gethint.php ...
 

$q=$_GET["q"];
$response='';
 
$query="SELECT uid, company FROM users where company like '".$q."%' and userid='$userid' order by company";
mysql_query("set character set 'utf8'");
$result=mysql_query($query);
 
if (mysql_num_rows($result) > 0) {
$response.='<table>';
    while ($row=mysql_fetch_array($result)){
$response.='<tr><td önclick="set_val(\''.$row['company'].'\', \''.$row['uid'].'')">'.$row['company'].'</td></tr>';
    }
$response.='</table>';  
echo $response;
}else{
}
Posted 10-May-13 3:09am
bmaglar273
Edited 10-May-13 3:30am
v4
Rate this: bad
good
Please Sign up or sign in to vote.

Solution 1

My guess would be that ms still defaults to its legacy Windows-1252 character encoding. Try put the following as first line in the HEAD section of the page.
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Good luck!
  Permalink  
Comments
bmaglar at 10-May-13 8:34am
   
The problem remains the same. When i search on IE for a fantastic company ASD for example it is ok. When i search for a greek characters company of the database it looks like the mysql_num_rows($result)==0
E.F. Nijboer at 10-May-13 8:48am
   
As a sidenote:
This is an accident waiting to happen (sql injection):
$query="SELECT uid, company FROM users where company like '".$q."%' and userid='$userid' order by company";
 
But for the sake of just this question, could you describe what you enter and what you see happening? Is the query actually fired in ie10 for example? Did you check the NET tab in the developer tools (key: F12)? Or checked it with fiddler?
bmaglar at 10-May-13 16:25pm
   
On the Net tab i see the query running real-time correctly with greek characters but $response is null if the characters are greek on IE so it goes to the final else {... }
E.F. Nijboer at 10-May-13 16:37pm
   
Is this link any help?
http://blogs.msdn.com/b/ie/archive/2012/07/19/xmlhttprequest-responsexml-in-ie10-release-preview.aspx
 
By the way, I noticed the character 'ö' instead of an 'o' in the code added to the question and I don't know if that matters.
bmaglar at 10-May-13 17:13pm
   
Nothing solved ..
E.F. Nijboer at 10-May-13 17:39pm
   
Too bad... Have to think about it some more. Hopefully something pops into mind.
Rate this: bad
good
Please Sign up or sign in to vote.

Solution 2

replace
xmlhttp.open("GET","gethint.php?q="+str,true);
with
xmlhttp.open("GET","gethint.php?q="+encodeURIComponent(str,true));
solves the problem ...
  Permalink  

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
0 Sergey Alexandrovich Kryukov 520
1 Mathew Soji 335
2 BillWoodruff 260
3 OriginalGriff 215
4 Afzaal Ahmad Zeeshan 188
0 OriginalGriff 6,168
1 Sergey Alexandrovich Kryukov 5,853
2 DamithSL 5,028
3 Manas Bhardwaj 4,539
4 Maciej Los 3,845


Advertise | Privacy | Mobile
Web01 | 2.8.1411019.1 | Last Updated 15 May 2013
Copyright © CodeProject, 1999-2014
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100