T map 로그에서 발생한 Java Locale 문제들

Preview:

Citation preview

T map 로그에서 발생한Java Locale 문제들

T map 을 사용하는 한국에 거주하는 세계인들

2015/05 Tmap 로그 유입 현황 (KR빼고 )

Dotted and dotless I

어느 날 이상한 로그가 들어왔다 ...

ınıt_locatıon_provıder

ınıt_locatıon_provıder

İstanbul

터키어 에서는 i(I) 가 4 개

"INIT_LOCATION_PROVIDER".toLowerCase(Locale.getDefault())

ınıt_locatıon_provıder

Javadoc

T map App 코드에 Locale 을 명시하는 것으로 정리

هندية أرقام

이상한 로그가 들어왔다 .또

{ "_index": "ge_tmap_2015_04_reindex", "_type": "client_error", "_id": "AU0Jy6oy0iad18sLvjgJ", "_version": 1, "_score": 1, "_source": { "base_time": "٢٠١٥٠٤٢٣٠٣٢٤٢٤٧٢٩", "log_version": "14.09.25", "ip": "210.111.172.71", "language_code": "EG", "carrier_name": "olleh", "recv_host": "RAKEcollect09", "os_version": "4.4.2", "app_version": "4.4.5.4188", "body": { "client_error_code": 304 }, "os_name": "Android", "screen_width": 1202, "rake_lib_version": "r0.5.0_c0.3.13", "log_type": "client_error", "manufacturer": "LGE", "recv_time": "20150423032521576", "device_model": "LG-F340S", "token": "8c80506e17477dde41acd7a0976b8dbf56e061eb", "local_time": "٢٠١٥٠٤٢٣٠٣٢٤٢٤٧٢٩", "rake_lib": "android", "resolution": "720*1202", "network_type": "WIFI", "screen_height": 720 }}

{ "_index": "ge_tmap_2015_04_reindex", "_type": "client_error", "_id": "AU0Jy6oy0iad18sLvjgJ", "_version": 1, "_score": 1, "_source": { "base_time": "٢٠١٥٠٤٢٣٠٣٢٤٢٤٧٢٩", "log_version": "14.09.25", "ip": "210.111.172.71", "language_code": "EG", "carrier_name": "olleh", "recv_host": "RAKEcollect09", "os_version": "4.4.2", "app_version": "4.4.5.4188", "body": { "client_error_code": 304 }, "os_name": "Android", "screen_width": 1202, "rake_lib_version": "r0.5.0_c0.3.13", "log_type": "client_error", "manufacturer": "LGE", "recv_time": "20150423032521576", "device_model": "LG-F340S", "token": "8c80506e17477dde41acd7a0976b8dbf56e061eb", "local_time": "٢٠١٥٠٤٢٣٠٣٢٤٢٤٧٢٩", "rake_lib": "android", "resolution": "720*1202", "network_type": "WIFI", "screen_height": 720 }}

"base_time": "٢٠١٥٠٤٢٣٠٣٢٤٢٤٧٢٩",

"local_time": "٢٠١٥٠٤٢٣٠٣٢٤٢٤٧٢٩",

Eastern Arabic numerals

٠ ١ ٢ ٣ ٤ ٥ ٦ ٧ ٨ ٩

0 1 2 3 4 5 6 7 8 9Western Arabic

Eastern Arabic

DateFormat localeTimeFormat = new SimpleDateFormat("yyyyMMddHHmmssSSS");Date now = new Date();String formatted = localeTimeFormat.format(now);

٢٠١٥٠٦٣٠١٦٣٤٢١٧٩٨

Locale 설정이 없다 .

Rake-Android 모듈에 Locale 설정을 명시 요청

오늘 우리가 배운 것Default Locale 사용을 조심하자 .터키어에는 i 가 4 개 있다 .

Eastern arabic numerals 를 읽을 수 있게 됐다 .

Recommended