문제

WordPress 블로그와 PHPBB 포럼을 새로운 호스팅 서버로 마이그레이션하고 있습니다. phpmyadmin을 사용하여 이전 사이트의 데이터베이스에서 SQL 스크립트를 가져오고 있습니다.

Kate와 함께 .SQL 스크립트를 열면 UTF8을 인코딩으로 사용합니다. 새 서버에서 SQL을 가져 오면 phpmyadmin에서 UTF8이 기본적으로 선택되는 인코딩을 선택할 수있는 옵션이 있습니다.

그럼에도 불구하고 데이터베이스 가져 오기를 마치면 Phpmyadmin에서 직접 게시물 텍스트를 읽고 "e", "ñ"등과 같은 캐릭터를 "해석"하지 않았으며 이상한 캐릭터로 대체되었습니다.

내 WordPress 설치도 작동하지 않는 것을 볼 수 있습니다. 분명히이 인코딩에 문제가 있지만 WordPress가 아닌 MySQL 데이터베이스 또는 Phpmyadmin에 문제가 있다고 생각합니다.

MySQL의 버전은 실질적으로 동일하지만 MySQL 5이지만 다른 개정입니다. 또한 포럼 데이터베이스를 마이그레이션 할 때 문제가 없었으므로 이것은 심지어 낯선 것입니다 ...

나는 이것을 고치는 방법에 대해 길을 잃었습니다 ... 모든 아이디어는 환영합니다.

도움이 되었습니까?

해결책

추가해 보셨습니까?

SET NAMES 'utf8';

SQL 덤프에?

일반적으로 UTF8 또는 인코딩이있는 것은 성공하기 위해서는 다음을 확인해야한다는 것입니다.

  • 파일은 서명없이 UTF8으로 인코딩됩니다
  • MySQL 서버의 기본 인코딩은 UTF8로 설정됩니다.
  • 연결은 UTF8입니다 (따라서 SET Names 'UTF8'을 SQL 파일에 넣는 이유).
  • 모든 테이블과 열에는 올바른 인코딩과 숯이 있습니다.
  • 모든 웹 파일도 UTF8을 인코딩해야합니다. 그리고 올바른 헤더를 추가하는 것은 작동하지 않습니다. 파일을 열고 인코딩이 UTF8인지 확인해야합니다. 인코딩을 변경하고 파일을 저장하면 작동하지 않습니다!

다른 팁

답변 해 주셔서 감사합니다. 나는 해결책을 찾았고, 전에는 그것을 실현하지 않았다고 정말 멍청하다고 느낍니다. 모든 것이 잘 작동해야했습니다.

-file을 UTF8- 촉매로 인코딩 하였다.

SET character_set_client = utf8;
-mysql 서버는 UTF8 등으로 구성되었습니다.

내가 처음 알지 못했던 것은 CPANEL의 백업 마법사에서 데이터베이스 백업을 사용하고 있다는 것입니다. 이것을 깨닫 자마자 기존 서버에서 phpmyadmin을 사용하여 데이터베이스를 내보내고 새 서버에서 가져 왔으며 Presto는 문제를 해결했습니다.

phpmyadmin은 cpanel보다 phpmyadmin을 더 잘 이해합니다. P는 CPANEL 자체로 가져 오기 위해 스크립트를 내보내는 것 같습니다. 이것은 아마도 아마도 효과가 있었을 것입니다. 그러나 나는 phpmyadmin을 더 잘 신뢰합니다.

그래도 답변 해 주셔서 감사합니다.

나는 약 1 시간 동안 씨름하고 내 사이트의 많은 부분을 파괴했기 때문에 같은 문제를 겪었습니다. 다른 사람들이 다른 사람이 어려움을 겪고 있는지보고 솔루션을 게시 할 것이라고 생각했습니다. 솔루션은 매우 간단합니다. 가져 오기에 설정된 가져 오기 문자를 지정합니다.

호스트에 대한 SSH 액세스가있는 경우 먼저 새 데이터베이스에 다시 모든 테이블을 다시 삭제 한 다음 SSH 세션 에서이 명령을 실행하십시오 (이전 덤프 파일이 Olddatabase.dump.sql):

$ mysql -h 주최자 -유 사용자 이름 -피 비밀번호 -default-character-set = utf8 데이터 베이스 <OldDatabase.dump.sql (호스트, 사용자 이름, 비밀번호 및 데이터베이스를 적절한 값으로 대체)

이것은 문제를 해결하는 가장 간단하고 가장 간단한 방법입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top