우리는 csv에서 새로운 사용자를 가져와 데이터베이스에 삽입하는 cron 스크립트를 실행하고 있습니다. 이름에 특수 문자가 붙은 사용자가있을 때마다 실패하고 있지만, 왜 모든 것이 제대로 작동하는지 확인할 수있는 이유는 알 수 없습니다.mysql 특수 문자 - 잘못된 문자열 값 ' xE1n'
Siobhán
오류 메시지 : 여기
는에 실패있어 이름의 예입니다!! Incorrect string value: '\xE1n' for column 'firstname' at row 1
그리고 다음 삽입하려고 데이터의 위해서 var_dump는 이름이 있습니다 Siobh
을 너무 특수 문자를 자릅니다.
다음은 데이터베이스에서 'char %'와 같은 쇼 변수의 출력입니다.
character_set_client utf8
character_set_connection utf8
character_set_database utf8
character_set_filesystem binary
character_set_results utf8
character_set_server utf8
character_set_system utf8
character_sets_dir /usr/share/mysql/charsets/
사용자 테이블의 데이터 정렬 utf8_unicode_ci
이름 및 성 컬럼의 정렬 utf8_unicode_ci
PHP 스크립트의 헤더 설정입니다 :
content-type: text/html; charset=utf-8
그리고 때를 I 쿼리에 전달되기 전에 변수에 mb_detect_encoding()
을 실행하면 UTF-8
그래서 나는 그것이 실패하고있는 이유에 관해 여기에서 아이디어를 얻지 못했다. ...
우리는 어디에서 잘못 가고 있는지에 대한 아이디어가 있습니까?
CSV 파일을 만드는 프로그램, ANSI 형식으로 파일을 생성 않습니다
감사
CSV를 UTF-8로 저장 했습니까? – DanFromGermany
csv는 다른 부서의 스크립트에 의해 자동으로 생성됩니다. 어쨌든 확인할까요? –
텍스트 편집기로여십시오. 메모장 + + 내 요구에 맞는. 다른 스크립트가 utf-8로 저장되었는지 확인하고 복사 한 모든 데이터가 utf-8로 인코딩되었는지 확인하십시오. – DanFromGermany