I am developing a webpage where user is searching for files using tags. I am using jQuery Ajax to do the remote call to the API (database). It all works fine when I use non special characters like a-z but fails when using for example åäö.
On the serverside I am using PHP. I print the tag to see if it "arrives" and all a-z works fine but the åäö is not displaying at all. They seem to not "arrive".
What can be wrong?
This is my jQuery code:
var tags = $('#tags').val();
$.ajax ({
type: "POST",
url: base_url + "search",
data: "tags=" + tags + "&limit=" + limit,
beforeSend: function (html) {
$("#search_results").html("Searching for files...");
},
success: function (html) {
$("#search_results").html(html);
},
error: function (html) {
$("#search_results").html('Something went wrong!');
}
});
This is my server side code:
echo ($_POST['tags']);
I search and looked at related questions about this here on SO but non helped me unfortunately.
UPDATE
Using this solved it! Works fine now.
{tags: encodeURIComponent(tags), limit: limit}
Data (tags) must be encoded before sending it to server using encodeURIComponent()
Below code is working fine for sending & and "" or any special characters via ajax call:
specialChar1= "JΛ̊KE#2@#*&($^@%#*@#%))*$&@*(""" ;
specialchar2 ="??&!!--##";
url = "/get/" + encodeURIComponent( specialChar1) +"/"+ encodeURIComponent ( specialchar2 )
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With