diff --git a/android/src/com/google/zxing/client/android/result/ResultHandler.java b/android/src/com/google/zxing/client/android/result/ResultHandler.java index 338e3c080..b5567a894 100644 --- a/android/src/com/google/zxing/client/android/result/ResultHandler.java +++ b/android/src/com/google/zxing/client/android/result/ResultHandler.java @@ -41,6 +41,8 @@ import android.provider.ContactsContract; import android.util.Log; import android.view.View; +import java.io.UnsupportedEncodingException; +import java.net.URLEncoder; import java.util.Collection; import java.util.Locale; @@ -518,6 +520,11 @@ public abstract class ResultHandler { if (customProductSearch == null) { return text; // ? } + try { + text = URLEncoder.encode(text, "UTF-8"); + } catch (UnsupportedEncodingException e) { + // can't happen; UTF-8 is always supported. Continue, I guess, without encoding + } String url = customProductSearch.replace("%s", text); if (rawResult != null) { url = url.replace("%f", rawResult.getBarcodeFormat().toString());