아래 코드는 Windows 7 및 Windows XP에서 작동하지 않는 문제가 있습니까? 혹시 그 이유를 아십니까? 미리 감사드립니다. DB 오류가 아닌지 확인했습니다.CString 형식 문제 및 Windows XP와 7의 차이점은 무엇입니까?
Win 7의 경우 저장된 내용을 반환하며 Win XP의 경우에도 마찬가지입니다. 그러나 XP에서의 서식 설정은 CString을 ""
으로 설정합니다.
if(getDB()->getEncoding() == IDatabase::UTF8){
a_value.Format(_T("%s"), sqlite3_column_text(getCommand()->getStatement(), idx));
}else{
a_value.Format(_T("%s"), sqlite3_column_text16(getCommand()->getStatement(), idx));
}
또한 유니 코드 문제가 아닙니다.
데이터베이스는 아마도 UTF입니다 -8이고, UTF-16 인 Windows "Unicode"를 사용하여 빌드 할 때'a_value.Format (L "% s", sqlite3_column_text16 (getCommand() -> getStatement(), idx))'두 가지 경우 모두. – dalle
맞아,하지만 우리도이 문제를 해결할 인코더가있다. –