복붙노트

[SQL] ERROR 1115 (42000) : 알 수없는 문자 집합 : 'utf8mb4'

SQL

ERROR 1115 (42000) : 알 수없는 문자 집합 : 'utf8mb4'

난과 복원을 시도 MySQL의 덤프를 가지고 :

mysql -u"username" -p"password" --host="127.0.0.1" mysql_db < mysql_db

그러나 이것은 오류가 발생했습니다 :

ERROR 1115 (42000) at line 3231: Unknown character set: 'utf8mb4'

이 라인에게 3231-3233입니다 :

/*!50003 SET character_set_client  = utf8mb4 */ ;
/*!50003 SET character_set_results = utf8mb4 */ ;
/*!50003 SET collation_connection  = utf8mb4_general_ci */ ;

나는 MySQL은 5.1.69을 사용하고 있습니다. 어떻게하면이 오류를 해결할 수 있습니까?

해결법

  1. ==============================

    1.버전이 그 문자 집합을 지원하지 않습니다, 나는 그것을 도입 5.5.3이었다 생각합니다. 당신은 당신이 파일을 수출하는 데 사용되는 버전으로 MySQL의를 업그레이드해야합니다.

    버전이 그 문자 집합을 지원하지 않습니다, 나는 그것을 도입 5.5.3이었다 생각합니다. 당신은 당신이 파일을 수출하는 데 사용되는 버전으로 MySQL의를 업그레이드해야합니다.

    코드에서 특정 문자 집합을 설정하지만 MySQL의 버전을 지원하지 않기 때문에 그것에 대해 알고하지 않습니다 오류는 매우 분명하다.

    https://dev.mysql.com/doc/refman/5.5/en/charset-unicode-utf8mb4.html에 따르면 :

    그래서 아마 거기에 당신이 단지 가까이 눈과 희망을 UTF8 만들 수있는 기회입니다,하지만 데이터에 의존하는 것, 나는 그것을 권장하지 것입니다.

  2. ==============================

    2.당신은 시도 할 수 있습니다:

    당신은 시도 할 수 있습니다:

    텍스트 편집기를 엽니 다 SQL 파일을 찾아서 모두 교체

    utf8mb4 to utf8
    

    다시 가져옵니다.

  3. ==============================

    3.이 도움이 될 수 있습니다 :

    이 도움이 될 수 있습니다 :

    mysqldump --compatible=mysql40 -u user -p DB > dumpfile.sql
    

    phpMyAdmin에는 '전문가'내보내기 옵션에서 같은 MySQL의 호환성 모드가 있습니다. 그 경우에이 있지만 아무것도하지.

    명령 줄을 통해 또는 phpMyAdmin을이 후 편집을 통해 액세스 할 수없는 경우

    /*!50003 SET character_set_client  = utf8mb4 */ ; 
    

    비트 만 갈 수있는 방법입니다 'UTF8'를 읽을 수 있습니다.

  4. ==============================

    4.그냥 텍스트 편집기를 사용하여 SQL 파일을 열고 'utf8mb4'를 검색 utf8.I가 당신을 위해 일하는 것이 기대로 교체

    그냥 텍스트 편집기를 사용하여 SQL 파일을 열고 'utf8mb4'를 검색 utf8.I가 당신을 위해 일하는 것이 기대로 교체

  5. ==============================

    5.나는 질문에 대답하고있다 - 나는 그들 중 완료 찾지 못했습니다한다. 현재 알 수없는 문자 집합으로 : 배포의 많은 5.5.3 (버전이있는 utf8mb4가 추가 된) 미만의 MySQL을 가지고 'utf8mb4는'매우 유행이다.

    나는 질문에 대답하고있다 - 나는 그들 중 완료 찾지 못했습니다한다. 현재 알 수없는 문자 집합으로 : 배포의 많은 5.5.3 (버전이있는 utf8mb4가 추가 된) 미만의 MySQL을 가지고 'utf8mb4는'매우 유행이다.

    이 오류는 명확하게 utf8mb4이 단계의 DB 서버에서 지원이없는 상태.

    원인 : 아마 로컬 당신은 MySQL 버전 5.5.3 이상이 있고, 무대에 / VPS 호스팅 적은 다음 5.5.3을 MySQL 서버 버전이

    utf8mb4 문자 세트는 MySQL은 5.5.3에서 추가되었다.

    SO 대답에서 :

    확인: 어떻게 어떤 문자 것은 MySQL 데이터베이스 / 테이블 / 열이 설정 보는가 - 당신은 당신이에서 덤프를 가져 오는 DB의 현재 문자 집합 및 정렬을 확인하실 수 있습니다 확인하려면?

    해결 방법 1 : 간단히 5.5.3에 MySQL 서버를 업그레이드 (AT-이상) - 다음 무대에 대한 로컬로 사용하는 버전에 대한 의식 및 자극을 위해, 모두가 동일하게해야합니다. 제안 - 현재 디폴트 캐릭터 세트는 utf8mb4해야한다.

    해결 방법 2 (권장하지 않음) : UTF8 현재 문자 세트로 변환 한 다음 데이터를 내보낼 - 괜찮아요로드 할 수 있습니다.

  6. ==============================

    6.어쩌면 전체 데이터베이스 + 테이블 + 필드는 같은 캐릭터 세트를해야한다?!

    어쩌면 전체 데이터베이스 + 테이블 + 필드는 같은 캐릭터 세트를해야한다?!

    CREATE TABLE `politicas` (
      `ID` int(11) NOT NULL AUTO_INCREMENT,
      `Nombre` varchar(250) CHARACTER SET utf8 NOT NULL,
      -------------------------------------^here!!!!!!!!!!!
      PRIMARY KEY (`ID`)
    ) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
      -------------------------------------------------^here!!!!!!!!!
    
  7. ==============================

    7.어떤 편집 도구 귀하의 MySQL의 파일을 엽니 다

    어떤 편집 도구 귀하의 MySQL의 파일을 엽니 다

    찾기

    변화

    저장하고 mysql을 업로드 할 수 있습니다.

  8. ==============================

    8.일부는 여기에 제안, UTF8로 utf8mb4를 교체하면 문제를 해결하는 데 도움이됩니다. 이럴는, 나는 데이터 손실을 방지하기 위해 찾아 그들을 대체 할 sed를 사용합니다. 또한, 모든 그래픽 편집기로 큰 파일을 열면 잠재적 인 고통이다. 내 MySQL의 데이터 2 기가 바이트까지 성장한다. 궁극적 명령은

    일부는 여기에 제안, UTF8로 utf8mb4를 교체하면 문제를 해결하는 데 도움이됩니다. 이럴는, 나는 데이터 손실을 방지하기 위해 찾아 그들을 대체 할 sed를 사용합니다. 또한, 모든 그래픽 편집기로 큰 파일을 열면 잠재적 인 고통이다. 내 MySQL의 데이터 2 기가 바이트까지 성장한다. 궁극적 명령은

    sed 's/utf8mb4_unicode_520_ci/utf8_unicode_ci/g' original-mysql-data.sql > updated-mysql-data.sql
    sed 's/utf8mb4/utf8/g' original-mysql-data.sql > updated-mysql-data.sql
    

    끝난!

  9. from https://stackoverflow.com/questions/21911733/error-1115-42000-unknown-character-set-utf8mb4 by cc-by-sa and MIT license