멍멍이네 블로그

원인 : php에서 유니티로 json형태로 값을 보냈는데, 유니티에서 JsonUtility.FromJson 메소드를 썼더니 에러가 뜸.

 

해결 : System.Text.Encoding.UTF8.GetString(byte[] _byte, 3, _byte.Length-3);

받은 json형태의 값 앞에 이상한 값이 들어있음.

앞부분 3바이트를 잘랐더니 정상작동함.

참고 링크 : https://en.wikipedia.org/wiki/Byte_order_mark

 

Byte order mark - Wikipedia

Unicode character "FEFF" redirects here. For the airport in Central African Republic with the airport code FEFF, see Bangui M'Poko International Airport. For the program used in X-ray absorption spectroscopy, see FEFF (software). For the name of U+FEFF in

en.wikipedia.org

 

(추가) 2021. 04. 20

php -> unity로 값 전송 시 종종 뜨던 부분은

1. Trim() // return 값에 공백이 들어가던 문제

2. 위와 같은 3byte 이상한 값이 들어가던 문제

 

있었으며, 당일 기준 코딩 돌려보니 Trim()이나 3byte 제거 안 해도 정상 작동한 걸로 보아, 수정된 것으로 보인다.

 

 

위 문제 외 배열 값을 처리 시 기타 오류가 떴던 부분은 다음 게시물에서 참고.

2021.04.20 - [프로그래밍/Unity3D] - [Unity3D-php] JSON Parsing error (array type)