일부 특수 문자 ("Ä, ä, ö, ö, Ü, ü, ß")가 포함 된 mysql 덤프가 있습니다. 이 덤프를 최신 MySQL 버전으로 다시 가져와야합니다. 인코딩 때문에 특수 문자가 충돌합니다. 덤프는 UTF-8로 인코딩되지 않습니다.C#에서 덤프 파일의 특정 바이트를 덮어 쓰는 방법
이 덤프에는 덮어 써서는 안되는 바이너리 첨부 파일도 있습니다. 그렇지 않으면 첨부 파일이 손상됩니다.
모든 특수 문자를 UTF-8에서 읽을 수있는 바이트로 덮어 써야합니다.
것은 나는 현재 (이 UTF-8이 읽을 수 ü에 대한에 ANSI의 ü를 변화) 그런 식으로 노력하고있어 :
newByteArray[y] = 195;
if (bytesFromLine[i] == 252)
{
newByteArray[y + 1] = 188;
}
newByteArray[y + 2] = bytesFromLine[y + 1];
252 Encoding.Default에서 'ü'를 표시한다. 195 188에서 Encoding.UTF8에 'ü'가 표시됩니다.
지금 나는이 오른쪽 바이트 바이트 덮어 쓰기 파일이 덤프에서이 특정 문자를 검색하여 도움이 필요합니다. 나는 모든 '252'를 '195 188'로 바꿀 수 없다. 왜냐하면 첨부 파일이 부서지기 때문이다.
미리 감사드립니다.
utf8에서 mysql 덤프를 가져올 수 없습니까? – ziya
@MaxwellTroyMiltonKing 그렇지 않습니다. 이미 준비가되었습니다. – Relax
명령 행 가져 오기 프로그램에서'--default-character-set' 인수를 사용해 보셨나요? 이것이 덤프 파일의 인코딩과 일치하는지 확인하십시오 (텍스트 편집기에서 열면 헤더에서 가져올 수 있어야합니다). –