문제

어제 몇 시간 동안이 문제에 대한 내 의견을 듣고 있습니다.

MySQL 4.1.22 서버의 데이터베이스가 인코딩이 "UTF-8 Unicode (UTF8)"(PHPMYADMIN에 의해보고 된대로)로 설정된 데이터베이스입니다. 이 데이터베이스의 테이블에는 기본 숯이 설정되어 있습니다 라틴어 2. 그러나 웹 애플리케이션 (CMS Made Made Made Made Made Made)을 사용하여 페이지를 표시합니다. UTF8...

그러나 이것을 망쳐 놓았을 수도 있지만 실제로는 작동합니다. 웹 앱은 문자를 올바르게 표시합니다 (대부분 체코와 광택이 사용됨).

"mysqldump -u xxx -p -h yyy dbname> dump.sql". 이것은 나에게 SQL 스크립트를 제공합니다.

  • 표시 할 때 모든 편집기 (메모장+와 같은)에서 완벽 해 보입니다. UTF-8 - 모든 문자가 올바르게 표시됩니다
  • 스크립트의 모든 테이블에는 기본 숯이 설정되어 있습니다. 라틴어 2
  • "/ *! 40101 세트 이름 latin2 */;" 처음에 줄 (다른 설정 중)

이제이 데이터베이스를 MySQL 5.0.67에서 실행중인 다른 서버로 내보내고 서버 인코딩이 "UTF-8 Unicode (UTF8)로 설정하고 싶습니다. 전체 CMS를 간단한 설치로 복사하고 DUMP.SQL 스크립트를 복사하고 "MySQL -H DDD -U ZZZ -P DBNAME <DUMP.SQL"을 실행했습니다. 그 후 CMSMS 웹 페이지를 표시 할 때 모든 캐릭터가 스크램블됩니다.

나는 설정을 시도했다 :
set arribution_set_client = utf8;
set aratire_set_connection = latin2;

그리고 모든 조합 (나에게 의미가 없더라도 안전하기 위해서는 안전합니다) : latin2/utf8, latin2/latin2, utf8/utf8 등은 도움이되지 않습니다. 모든 캐릭터는 여전히 스크램블되었지만 때로는 다른 방식으로 발판되었습니다 :).

또한 모든 LATIN2 설정을 스크립트에서 UTF8로 대체하려고 시도했습니다 (테이블의 이름 세트 및 기본 charsets). 아무것도 아님.

여기에 몇 마디 만 설명 할 수있는 MySQL 전문가가 있습니까 (결국 간단 할 것입니다)이 전체 인코딩이 실제로 어떻게 작동하는지? 나는 읽었다 9.1.4. 연결 문자 세트 및 콜라이트 그러나 거기에서 도움이되는 것은 발견되지 않았습니다.

고마워요, 매트

도움이 되었습니까?

해결책 2

어 ... 좋아요, 해결책을 찾았습니다.

MySQL은 여기서 범인이 아닙니다. 덤프를 변경하지 않고 간단한 덤프를하고로드했습니다 .SQL 스크립트 - "이름 set latin2"와 테이블 숯불을 그대로 남겼습니다. 그런 다음 원래 CMSMS 설치를 새 데이터베이스로 전환 한 결과 올바르게 작동했습니다. 따라서 실제로 데이터베이스의 인코딩은 괜찮거나 적어도 이전 호스팅 제공 업체 (CMSMS 분명히 CMSMS 분명히 CMSMS 설치와 잘 작동합니다. 캐릭터 인코딩으로 재미있는 일을합니다).

새로운 호스팅 제공 업체에서 작동하기 위해 CMSMS 설치 에서이 라인을 Lib/Adodb/Drivers/Adodb-Mysql.inc.php에 추가해야했습니다.

mysql_query('set names latin2',$this->_connectionID);

이것은 약간 수정 된 솔루션입니다 이 게시물. 정확한 선도 찾을 수 있습니다. 따라서 MySQL 클라이언트 구성 문제처럼 보입니다.

다른 팁

다음과 같이-default-character-set = name 옵션을 추가 했습니까?

mysql --default-character-set=utf8 -h ddd -u zzz -p dbname < dump.sql

나는 전에 그 문제가 있었고 그 옵션을 사용한 후에 작동했습니다.

도움이되기를 바랍니다!

나를위한 솔루션 :

이 옵션을 PHP 파일로 설정했습니다 mysql_connect (또는 후 mysql_select_db)..

mysql_query("SET NAMES 'utf8'");
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top