2014-04-22 5 views
-2

MySQL 데이터베이스에 가능한 모든 문자 (중국어, 아랍어, 이러한 종류의 문자 : ☺♀☻)를 저장하고 PHP 및 HTML에서도 사용할 수 있기를 원합니다. 어떻게해야합니까?MySQL 데이터베이스에있는 모든 문자를 어떻게 저장할 수 있습니까?

편집 : 나는 그 문자 기능 htmlspecialchars() 사용할 때이 같은 ☺♀☻ : 그것은 어떤 겉으로는 임의의 문자를 반환 htmlspecialchars('☺♀☻', ENT_SUBSTITUTE, 'UTF-8');을. 어떻게 해결할 수 있을까요?

+1

실제로 원하는 것입니까? 유니 코드 코드 포인트 목록의 대량 잘라내기를? – Phylogenesis

+0

위의 요점을 명확히하기 위해 나는 그러한 테이블이 어떤 의미인지를 확신하지 못합니다. 많은 코드 포인트는 독자적으로 쓸모가 없습니다. 일부는 U + 200E (LEFT-TO-RIGHT MARK) 및 U + 200F (RIGHT-TO-LEFT MARK)와 같이 문자 주위의 텍스트 흐름에 영향을줍니다. 다른 것들은 U + 0300 (결합 그레이브 액센트)와 U + 0301 (액티브 액센트 결합)과 같은 선행 문자를 변경합니다. 불행히도 관련 메타 데이터없이 데이터베이스에 이러한 모든 것을 저장하는 것은 사실상 쓸모가 없습니다. – Phylogenesis

+0

가능한 [UTF-8까지] 가능한 복제본 (http://stackoverflow.com/questions/279170/utf-8-all-the-way-through) –

답변

0

데이터베이스의 모든 텍스트/var 필드와 페이지 인코딩에 UTF-8 문자 인코딩을 사용하십시오. mb_substr()과 같은 멀티 바이트 (mb_ *) 형식의 텍스트 함수를 사용해야합니다.

0

원하는 문자가있는 문자 집합을 선택하십시오. utf-8은 매우 광범위하게 사용됩니다.

문자를 저장하는 것은 모든 이진 데이터이므로 별 문제가되지 않습니다. 텍스트를 검색 할 수 있도록하려면 올바른 데이터 정렬을 선택하는 것이 좋습니다. utf8_general_ci은 문제가 없습니다.