I would suggest you revisit your code just slightly, as POSTing data but just sending the information over the QueryString (everything after the ? in the URL) is missing the point just a little.
You should be sending your keywords in an object, like so:
var result = $("select#model option:selected").html();
$.post("advanced_search.php", { keywords: result }, function(data){
// success callback code goes here
});
If your PHP looks for the $_POST['keywords'], you should find your data in there when the $post is executed by jQuery.
Sending it across the QueryString is not undoable, but in that case you really should be doing something along the lines of:
var result = $("select#model option:selected").html();
$.get("advanced_search.php",
{ keywords: result },
function(data){
// success callback code goes here
});
However, you should get used to POSTing data properly, as sending data over the querystring is both unsecure and prone to issues due to encoding and URL length limits.
Also, this begs the question: Why are you encoding the HTML from within the tag? Why are you not simply putting a simple key in your , like this:
<select id="model">
<option value="key1">2001-2004 Honda Civic TypeR</option>
<option value="key2">2005-2008 Honda Civic TypeR</option>
<option value="key3">2009-2012 Honda Civic TypeR</option>
<option value="key4">2013-2015 Honda Civic TypeR</option>
</select>
var result = $("select#model option:selected").val();
$.post("advanced_search.php", { keywords: result }, function(data){
// success callback code goes here
});
Should be simpler to run the query, as well, considering you can have your values shortened and not require any mucking around with encoding/decoding values, unless you don't have keys for each select option, in which case, I guess I understand the approach you're taking.