Android Studio:error: illegal character: '\u2028'
Asked Answered
P

6

28

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: '\u2028'

How can I fix that?

Pelisse answered 3/1, 2016 at 15:23 Comment(8)
Remove that character?Forgery
I have looked the character up: u2028 means line separator. I do not have a line separator in my paramsPelisse
Delete that character at that position and type it again.Forgery
First, is this a compile-time error or a runtime error?Forgery
it is a compile errorPelisse
Log is saying error on 144 line. Which line number is 144Mettle
it is the line with param2. it looks originally: params.put("os", os); I did a string request with exactly the same params before and I got no compile error beforePelisse
Lock this link https://mcmap.net/q/378350/-error-1-1-illegalcharacter-39-ufeff-39-when-compiling-on-android-studioObliteration
P
12

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

Pelisse answered 3/1, 2016 at 15:35 Comment(0)
C
41

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.

Caretaker answered 8/7, 2016 at 18:42 Comment(2)
This worked. I had to hit backspace a couple of times on some of the lines though.Soemba
Crazy Android Studio, end of the java line pressing delete works fine but for some lines, you have to move your cursor to starting of the line and move again to end of the line and then press delete to remove /u2028 character error.. Irritated. but what's the reason for this?Elexa
C
15

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.

Culmiferous answered 6/2, 2017 at 11:7 Comment(0)
P
12

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

Pelisse answered 3/1, 2016 at 15:35 Comment(0)
C
11

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

Android studio replace

Claqueur answered 8/5, 2017 at 10:32 Comment(1)
Make sure you have Regex checked and this works like a charm!Shears
P
5

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.

Podium answered 3/1, 2017 at 17:12 Comment(0)
H
1

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
Hyposensitize answered 21/5, 2016 at 9:28 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.