여기서 I는 단지 here 도시 된 방법에 따라 작성한 자바 스크립트 해결책 :
function getListSeparator() {
var list = ['a', 'b'], str;
if (list.toLocaleString) {
str = list.toLocaleString();
if (str.indexOf(';') > 0 && str.indexOf(',') == -1) {
return ';';
}
}
return ',';
}
키 시스템 목록 분리기를 사용 toLocaleString() 메소드이다.
목록 분리 기호를 가져와 서버에서 검색 할 수있는 쿠키로 설정할 때 JavaScript를 사용할 수 있습니다.
모든 Windows 로캘을 검사했는데 기본 목록 구분 기호가 거의 항상 ','또는 ';'인 것으로 보입니다. 일부 로켈의 경우 제어판의 드롭 다운 목록에 두 가지 옵션이 있습니다. 다른 사람들에게 그것은 단지 ','을 제공합니다. 한 로케일 인 Divehi에는 이전에 목록 분리 자로 보지 못한 이상한 문자가 있으며 모든 로케일에 대해 사용자가 원하는 목록을 구분 기호로 입력 할 수 있습니다.
임의의 문자열을 CSV 파일에 구분 기호로 넣으면 나에게 문제가되는 것처럼 들리므로 위의 함수는 ';'만 반환합니다. 또는 '.'을 반환하고 ';'만 반환합니다. Array.toLocaleString 문자열에서 ','을 찾을 수없는 경우 array.toLocaleString이 여러 브라우저에서 사용할 수있는 형식을 가지고 있는지 확실하지는 않습니다. 따라서 indexOf는 특정 인덱스에서 문자를 선택하지 않고 검사합니다.
배열 사용.toLocaleString을 사용하면 IE6, IE7 및 IE8에서 목록 구분 기호가 작동하지만 불행히도 Firefox, Safari, Opera 및 Chrome (또는 적어도 내 컴퓨터의 해당 브라우저 버전)에서는 작동하지 않는 것 같습니다. Windows "목록 구분 기호"설정에 관계없이 배열 항목을 쉼표로 구분합니다.
또한 기본적으로 Excel에서는 CSV 파일의 숫자를 구문 분석 할 때 "소수점 구분 기호"시스템을 사용하는 것으로 나타났습니다. 수다. 따라서 목록 구분 기호를 지역화하는 경우에도 소수 구분 기호를 현지화해야 할 수 있습니다. 구분 기호로 모든 문자를 가능하게
이것은 휴먼 인터페이스 토론에서 다루는 주제입니다. 무엇을 사용하는지 알아내는 가장 좋은 방법은 환경 설정에서 자신의 위치를 선택하도록 사용자에게 요청하는 것입니다. 그들의 기계는 무지 또는 의도적으로 난독 화를 통해 잘못 구성된 것일 수 있습니다. –