2011-05-11 1 views
1

프랑스어 악센트 부호가있는 문자와 일치하는 데 문제가 있습니다 (중국어, 일본어 등 다른 다른 문자도 사용됩니다).프랑스어 악센트 부호가있는 문자가 SQL 일치를 위해 디코드됩니다.

내가 오류 가로 질러 한 때 입력 데이터베이스를 확인하고 내가 오류가 있었다 것 프랑스 거리 이름 :

Le Château 

이 이름이 문자를 들어

Incorrect string value: '\xE2teau' for column 'street_name' at row 1 

을 내 열을 utf8_general_ci으로 변경했는데 여전히 오류가 발생합니다. 열에 맞춰 어떻게 그들을 디코딩 할 수 있습니까?

답변

3

실제로 UTF-8 데이터를 보내고 있습니까? 아니면 Latin-1 인코딩 데이터를 보내시겠습니까? âE2 바이트로 전송되고 있기 때문에 적절한 값을 가진 바이트가 다음에 올 것으로 예상하지만 t 대신 74이 표시되기 때문에 MySQL이 âte에서 질식 할 수 있습니다. 따라서 문자열은 유효한 UTF-8이 아닙니다.

검색어를 만들기 전에 문자열 값에 utf8_encode()을 사용해 보시겠습니까?

+0

아 맞습니다. 'utf8_encode()'가 작업을 수행했습니다. – MacMac