// Accepts a full path to an HTML file. // Reads the file, detects the encoding // and returns the text converted to Unicode. QString HTMLEncodingResolver::ReadHTMLFile( const QString &fullfilepath ) { QFile file( fullfilepath ); // Check if we can open the file if ( !file.open( QFile::ReadOnly ) ) { boost_throw( CannotOpenFile() << errinfo_file_fullpath( file.fileName().toStdString() ) << errinfo_file_errorstring( file.errorString().toStdString() ) ); } QByteArray data = file.readAll(); return Utility::ConvertLineEndings( GetCodecForHTML( data ).toUnicode( data ) ); }
// Accepts a full path to an HTML file. // Reads the file, detects the encoding // and returns the text converted to Unicode. QString HTMLEncodingResolver::ReadHTMLFile(const QString &fullfilepath) { QFile file(fullfilepath); // Check if we can open the file if (!file.open(QFile::ReadOnly)) { std::string msg = file.fileName().toStdString() + ": " + file.errorString().toStdString(); throw (CannotOpenFile(msg)); } QByteArray data = file.readAll(); if (IsValidUtf8(data)) { data.replace("\xC2\xA0", " "); } return Utility::ConvertLineEndings(GetCodecForHTML(data)->toUnicode(data)); }