2008-09-05 10 views
4

MySQL 테이블을 기본 대소 문자 스웨덴 문자 또는 ASCII 문자셋에서 utf-8로 마이그레이션 할 때주의해야 할 팁이나 잡았을 순간이 있습니까? 제가 참여하고있는 프로젝트 중 일부는 더 나은 국제화를 위해 노력하고 있으며 데이터베이스는 이러한 변화의 중요한 부분이 될 것입니다.MySQL UTF/유니 코드 마이그레이션 팁

데이터베이스를 변경하기 전에 모든 입력/출력이 동일한 문자 집합을 사용하도록 보장하기 위해 각 사이트에서 UTF-8 문자 인코딩 (최소 중요도에서 최대)을 사용하도록 변환 할 예정입니다. 내가 갈거야 어떤 도움

답변

2

몇 가지 힌트 :

  • 귀하의 CHARVARCHAR 열이 3 배 더 많은 디스크 공간까지 사용합니다. (스웨덴어로는 많은 디스크 공간이 늘어나지 않을 것입니다.)
  • 데이터베이스를 읽거나 쓰려면 먼저 SET NAMES utf8을 사용하십시오. 이 작업을 수행하지 않으면 부분적으로 왜곡 된 문자가 표시됩니다.
1

에 대한

덕분에 해답을 찾을 수 있도록 다음 사이트/기사를 통해 갈 수 있습니다. 나는이를 작성하는되면서

Hanselminutes episode "Sorting out Internationalization with Michael Kaplan"

UTF-8 And Unicode FAQ

The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!) - Joel on Software은 또한 단지 오라일리 ONLamp 블로그 @ 데렉 시버스에 의해 매우 주제에 대한 게시물을 발견. Turning MySQL data in latin1 to utf8 utf-8

0

귀하의 CHARVARCHAR 열은 3 배 더 많은 디스크 공간까지 사용합니다.

라틴 -1이 128보다 큰 서수로 채워져있는 경우에만. 그렇지 않으면 UTF-8의 공간 사용이 최소화됩니다.

0

데이터 정렬이 항상 유리한 것은 아닙니다. umlat은 항상 정확하지 않은 umlatted 버전과 대조 할 것입니다. utf8_bin으로 가길 원할 수도 있지만 모든 것이 대소 문자를 구분합니다.

1

색인 길이 제한에주의하십시오. 테이블이 구성되면, 말 :

이 포함 된 VARCHAR (255) ㄱ VARCHAR (255) 키 ('A', 'B')

당신은 1000 바이트 제한에지나 갈거야 열쇠 길이. 255 + 255는 괜찮지 만 255 * 3 + 255 * 3은 작동하지 않습니다.