제 시스템이 스페인어 데이터를 처리합니다. 나는 laravel + mysql을 사용하고있다. 내 데이터베이스 데이터 정렬은 라틴입니다 - 기본 정렬 내 테이블 구조는 다음과 같은 :PHP + MySQL + 스페인어
내가 dB로 파일에서 데이터를로드 :
몇 가지 질문이 있습니다. db에 삽입하기 전에 utf8_encode ($ name)을 사용하는 것이 좋습니다. 나는 현재 이렇게하고있다. 다른 비교 던지기 오류 :CREATE TABLE `product` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(100) CHARACTER SET latin1 NOT NULL, ) ENGINE=InnoDB AUTO_INCREMENT=298 DEFAULT CHARSET=utf8mb4;
SQLSTATE[HY000]: General error: 1267 Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_unicode_ci,COERCIBLE) for operation '='
utf8_encode를 사용하는 경우 이동하려면 utf8_encode도 검색하고 싶습니까? 예 : 선택 ... 이름 = utf8_encoded (이름)?
위의 사항을 처리하는 데 결함이 있거나 더 좋은 방법이 있습니까? 처음으로 스페인어를 할 때 (악센트가있는 문자).
MySQL에서 'VARCHAR'은 기본적으로 UTF8 이었으므로 사용할 필요가 없다고 생각했습니다. 'utf8_encode'를 사용하십시오. –
@MartinParkin은 utf8 인코딩없이 데이터를 삽입 할 때 발생하는 오류로 업데이트되었습니다. 그런 다음 = 필터를 사용하여 선택하십시오. – aiiwa