toUpperCase()를 기본 로케일 또는 더 흥미롭게도 두 개의 인수 Locale 생성자와 함께 사용할 때 그리스어와 터키어에 문제가 있습니다.Android에서 toUpperCase가 두 개의 인수와 기본 그리스어와 터키어 로케일에 맞지 않습니다.
문제는 (또한 5.1.1 재현) 갤럭시 탭 S2 안드로이드 5.0.2
문제가 타이틀이 값을 고려하여 설정 앱과 MoreLocale 2
BOTH를 통해 재현에 발생합니다 Τέλος는
을 συνεδρίας이 호출은 정상적으로 작동합니다.
title.toUpperCase(new Locale("el_GR"))
title.toUpperCase(new Locale("el-GR"))
두 가지 모두 올바른 결과를 생성합니다. 당신은 T와 P.
ΤΈΛΟΣ ΣΥΝΕΔΡΊΑΣ 후 밀접가 체크되어 표시를 보면
는 그러나, 나는 기본 로케일과 2 개의 인수 로케일 생성자에 대해 서로 다른 결과를 얻을.
이 내 태블릿의 기본 로케일은 :이 호출 할 때 일반를 toUpperCase()
public String toUpperCase() {
return CaseMapper.toUpperCase(Locale.getDefault(), this, value, offset, count);
}
에 사용되는
Locale.getDefault() == el_GR
는 잘못된 결과를 반환합니다.
title.toUpperCase(new Locale("el","GR"))
: 나는 새로운 로케일에 대한 두 개의 인수 생성자를 사용하는 경우
title.toUpperCase()
주에게 T와 P.에 누락 된 눈금 표시
ΤΕΛΟΣ ΣΥΝΕΔΡΙΑΣ는
나는 같은 결과를 얻을 수
ΤΕΛΟΣ ΣΥΝΕΔΡΙΑΣ
응용 프로그램 시작 문제를 해결하지만 오히려 hackish입니다.
String language = Locale.getDefault().getLanguage();
String country = Locale.getDefault().getCountry();
Locale.setDefault(new Locale(language + "-" + country));
단순히 기본 로캘로 연기하는 것을 선호합니다.
거기에 틱이있는 이유는 무엇입니까? 그건 나에게 맞는 것 같지 않아. –
언어학자가 아니지만 어떻게 든 스트레스 표시를 제공합니다. http://www.foundalis.com/lan/grstress.htm 터키어도 비슷한 점을 사용하십시오. 이들이 대문자와 다르게 적용되기 때문에 터키어와 그리스어는 고유 한 대/소문자 변환 문제가 있습니다. – amhest
오, 당신은 대문자 "τέλως συνεδρίασης"'를 시도하고 있습니다. 미안, 나는 억양없이 이것을 시도했다. –