2014-10-30 4 views
0

에 값을 삽입하려고 할 때 알 수없는 charactersor 값이 mysql 테이블에 추가되었습니다. (eg: £9000)의 테이블에 파운드로 값을 추가하려고 시도하면 의 테이블 필드에 £9000이 표시됩니다. Collation 값을 utf8_unicode_ci으로 변경해 보았습니다. 결과는 동일하지만 추가 문자가 필드에 추가됩니다. 제거 방법이 있습니까? 미리 감사드립니다.파운드 (£ 9000)

+1

를보고,이 상황에 전혀 도움이되지 않습니다. 이것은 명확하게 인코딩/문자셋 문제이며 인용 문제는 아닙니다. – glglgl

답변

2

php 인스턴스와 mysql 서버 간의 연결에는 관련된 문자 집합이 있습니다. mysql 서버는 PHP 스크립트가 전송 한 데이터가 해당 문자셋으로 인코딩 될 것으로 기대한다. 분명히 PHP 스크립트는 utf-8로 인코딩 된 데이터를 보내고 서버는 iso-8859 (또는 유사)와 같은 것을 기대하므로 utf-8에서 £을 코딩하는 두 바이트를 두 개의 개별 문자로 해석합니다. 연결 문자 세트를 utf-8로 변경해야합니다 (예 : php> = 5.3.6, pdo 및 charset=utf8을 DNS에 추가하여 사용합니다. 이것은 일반적으로 사실이지만

이 Arif_suhail_123 @http://dev.mysql.com/doc/refman/5.0/en/charset-connection.html
http://docs.php.net/ref.pdo-mysql.connection