2009-09-14 5 views
0

MySQL은 utf8_general 데이터 정렬에 저장된 문자열을 비교할 때 먼저 문자를 해당 ASCII 문자로 변환합니다. 즉, ḩ = h, ţ = t, ā = a, í = i 등 ...MySQL utf8_general 문자 매핑 테이블

비슷한 비교 함수를 PHP 또는 JavaScript로 구현할 때 사용할 수있는 매핑 테이블이 있습니까? 나는 iconv하지만 그들의 음역이 약간 다르다는 것과 같은 PHP에 대안이 있다는 것을 안다. í = '나는.

감사합니다.

+0

원하는 것을 수행하는 PHP 확장이 있습니다. http://pecl.php.net/package/translit 그러나 내부적으로는 iconv 만 호출하기 때문에 실제 사용하지는 않을 것입니다. 독립된 PHP 또는 JavaScript 솔루션에 대해 알지 못합니다. – KiNgMaR

답변

1

일반적인 방법은 문자열을 유니 코드 정규 형식 D (기본 문자와 별도의 문자에 분음 기호로 표시)로 정규화 한 다음 유니 코드 '분음 기호 결합'클래스로 모든 문자를 제거하는 것입니다.

PHP에서 정규화를 얻으려면 normalizer_normalize을 참조하십시오. 자바 스크립트에 대한 해결책을 모르겠다. 내장 된 것이 없기 때문에 클라이언트가 일부 대형 유니 코드 문자 데이터 테이블을 강제로 가져와야한다.