Programming/Android
Android :: 안드로이드 :: illegal character u2028 에러 해결방법
디빌리
2016. 5. 31. 12:09
서론
겔럭시 유저인 나는 어제 펌웨어를 Android 6.0 으로 업데이트했다.
그리고 오늘 Bluetooth Beacon 테스트 앱을 구동했는데 기존에 이상없이 동작하던 앱이 비컨 데이터를 받아오지 못하는 것이다.
PC와 연결하여 LogCat을 살펴보니
09-22 22:35:20.152 5158 5254 E BluetoothUtils: Permission denial: Need ACCESS_COARSE_LOCATION or
ACCESS_FINE_LOCATION permission to get scan results
위와 같은 에러 메세지를 확인할 수 있었다.
관련 키워드로 구글링 해본 결과 Android M 부터는 위치 엑세스 권한과 런타임 상에서 사용자에게 위치 정보 엑세스 동의를 구해야 한다는 내용을 확인할 수 있었다. (링크)
위 URL의 샘플 코드를 그대로 복사 후 붙여넣었더니 해당 코드에서 아래와 같은 에러가 발생했다.
ilegal character '\u2028'
본론
"유니코드 2028을 인식할 수 없다." 뭐 이런 뜻인듯 하여 unicode table에서 해당 코드값을 찾아보니 아래와 같은 결과를 확인할 수 있었다.
Line Separator가 코드 복사시 그대로 클립보드에 딸려 들어와 이러한 문제가 생긴듯 하다.
메모장에 붙여넣기 후 Android Studio에 다시 복사 붙여넣기를 하니 문제가 해결되었다.
결론
줄바꿈 문자인 Line Separator는 에디터 상에서는 눈으로 보여지지 않는다.
보이지 않는 이 문자를 Android Studio 에서는 인식하지 못한다.
따라서 Android Studio 에디터에서는 Line Separator 문자를 사용할 시 에러가 발생한다.