简体   繁体   中英

Android Studio:error: illegal character: '\u2028'

I am trying to do a JSONObject request:

final String URL = "https://some/url";

// Post params to be sent to the server
HashMap<String, String> params = new HashMap<String, String>();
params.put("param1", param1);

params.put("param2", param2);

params.put("param3", param3);
    
params.put("param4", param4);


JsonObjectRequest req = new JsonObjectRequest(URL, new JSONObject(params), new Response.Listener<JSONObject>() {
    @Override
    public void onResponse(JSONObject response) {
        try {
            VolleyLog.v("Response:%n %s", "läuft");
        } catch (JSONException e) {
            e.printStackTrace();
        }
    }
}, new Response.ErrorListener() {
    @Override
    public void onErrorResponse(VolleyError error) {
        VolleyLog.e("Error: ", error.getMessage());
    }
});

// add the request object to the queue to be executed
NetworkController.getInstance().addToRequestQueue(req);

I cannot compile the project because I get a syntax error for the params:

Error:(144, 9) error: illegal character: '\
'

How can I fix that?

It's the new line character, if you go to each of the lines that are causing the error and delete the 'invisible' last character then the errors will resolve

Go to end of the line that is causing the error and hit backspace once, for each of the lines that have the illegal character error.

If you are mac user then you can

Copy and paste text in TextWrangler View -> Text Display -> Show Invisibles

It will show you symbol like "|". Delete this and you are good to go.

Well, just deleting all the characters and rewriting them again helped. So crazy..

Best is to use replace feature from Android Studio, put an empty string in "Replace with" :

安卓工作室替换

Cut and paste the code into a text editor to convert it to simple text. Then remove all extra spaces. After that, use Android Studio's Reformat code feature to make it nice again.

For me, only deleting the spaces in Android Studio did not work.

I faced the exact same issue but in my case the number of errors were pretty large(95 or so). The only sane thing to do was to replace these characters with an empty character. This short Python script would do that and print out the new contents for your file. Run it with the correct path to your file. Cheers.

with open(‘filename.java’, ‘r’) as file:
    data=(file.read().decode(“utf-8”)).replace(u’\u2028', ‘’).encode(“utf-8”)
    print data

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM