Issue 60: Contact search unicode problem

Contact search was not working for unicode letters.  The CallbackServer was changed so that it returned url encode strings.  On the JavaScript side the PhoneGap callback handler decodes the returned string.
This commit is contained in:
macdonst 2011-04-23 08:19:59 +08:00
parent 673a8871df
commit 2cd116e4e7
2 changed files with 8 additions and 3 deletions

View File

@ -760,7 +760,8 @@ PhoneGap.JSCallback = function() {
// If callback has JavaScript statement to execute
if (xmlhttp.status === 200) {
var msg = xmlhttp.responseText;
// Need to url decode the response and replace %20 with a space
var msg = decodeURIComponent(xmlhttp.responseText.replace(/\+/g, '%20'));
setTimeout(function() {
try {
var t = eval(msg);
@ -919,7 +920,6 @@ PhoneGap.includeJavascript = function(jsfile, successCallback) {
id.appendChild(el);
};
/**
* This class is provided to bridge the gap between the way plugins were setup in 0.9.3 and 0.9.4.
* Users should be calling navigator.add.addService() instead of PluginManager.addService().
@ -931,4 +931,5 @@ var PluginManager = {
navigator.app.addService(serviceType, className);
}
};
};

View File

@ -13,6 +13,7 @@ import java.io.IOException;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;
import java.net.URLEncoder;
import java.util.LinkedList;
/**
@ -221,7 +222,10 @@ public class CallbackServer implements Runnable {
}
else {
//System.out.println("CallbackServer -- sending item");
response = "HTTP/1.1 200 OK\r\n\r\n"+this.getJavascript();
response = "HTTP/1.1 200 OK\r\n\r\n";
String js = this.getJavascript();
if (js != null)
response += URLEncoder.encode(js, "UTF-8");
}
}
else {