Kamailio 란 무엇입니까? 데이터베이스에 무엇이 저장됩니까?
일반적으로 모든 소프트웨어는 오늘 UTF-8
문자 집합 인코딩을 사용해야합니다. MySQL에서 구문은 CHARACTER SET utf8mb4
입니다.
두 개의 언급했는데 COLLATIONs
; 문자 정렬이 아닌 정렬 순서와 관련이 있습니다. 언급 된 두 문자 세트는 문자 세트에 해당합니다.
utf32
- 문자 당 4 바이트가 공간을 낭비합니다. 사실 아무도 그것을 사용하지 않습니다. 내가 그것을 사용할 수있는 좋은 이유가 없다.
latin1
- 문자 당 1 바이트. 서유럽을 처리하지만 아시아는 없습니다. 그것은 MySQL에서 오래된 기본값입니다 (따라서 테이블이 있습니다).
나는 Kamailio를 변경하려고 할 때의 파급 효과에 대해 알지 못합니다.
MySQL이 문자 집합의 차이를 처리하는 방법에 대해주의해야 할 점 : MySQL에 연결할 때 클라이언트에 인코딩을 지정해야합니다. 이어서 (필요하다면, 그리고 가능한 경우), 및시 INSERTing
SELECTing
MySQL은 변환 될 클라이언트 인코딩 열 인코딩 사이. 이 자동 변환으로 인해 현재 서유럽 문자에는 아무 것도 표시되지 않습니다. 그러나 그리스어, 중국어 등은 latin1
에 저장하려고 할 때 엉망이되거나 손실됩니다.
그런 다음 바이너리가 투명합니까? –
@JavierValencia - _If_ 테이블의'CHARACTER SET'은 문자를 저장할 수 있고 _if_ 클라이언트에서 문자의 인코딩을 정확하게 식별 할 수 있습니다. 그리고 _if_ 두 문자셋 사이에 매핑이 있다면, MySQL은 올바르게 비트를 변경합니다 the fly ('INSERTing'과'SELECTing')입니다. '이진'_code_은 정적/동적 설정에 의해 움직입니다. '바이너리'데이터는 _Operating Systems_에서 동일하게 저장됩니다. (아니면 다른 것을 물어 보는 것입니까?) –
'utf8mb4'와'utf32' _probably_는 다른 어떤 문자 집합에도 매핑 할 수 있습니다. ("그게 그들의 직업이에요.") –