Igor Korot wrote: > The following code compiles and executes but returns an error: > > [quote] > Invalid byte sequence for encoding UTF8 > [/quote] > > [code] > char *values[2]; > values[0] = NULL, values[1] = NULL; > values[0] = new char[schemaName.length() + 1]; > values[1] = new char[tableName.length() + 1]; > memset( values[0], '\0', schemaName.length() + 1 ); > memset( values[1], '\0', tableName.length() + 1 ); > strcpy( values[0], m_pimpl->m_myconv.to_bytes( schemaName.c_str() > ).c_str() ); > strcpy( values[1], m_pimpl->m_myconv.to_bytes( tableName.c_str() > ).c_str() ); > int len1 = (int) schemaName.length(); > int len2 = (int) tableName.length(); > int length[2] = { len1, len2 }; > int formats[2] = { 1, 1 }; > PGresult *res = PQexecParams( m_db, m_pimpl->m_myconv.to_bytes( > query.c_str() ).c_str(), 2, NULL, values, length, formats, 1 ); > ExecStatusType status = PQresultStatus( res ); > if( status != PGRES_COMMAND_OK && status != PGRES_TUPLES_OK ) > { > result = 1; > std::wstring err = m_pimpl->m_myconv.from_bytes( > PQerrorMessage( m_db ) ); > errorMsg.push_back( L"Error executing query: " + err ); > PQclear( res ); > } > [/code] > > in the "err" variable. > > Looking under MSVC debugger I see for a tableName a following sequence: > > 97 98 99 223 > > What can I do to eliminate the error? I'd say you should set the client encoding correctly. Looks like the bytes represent "abcß" in some LATIN-? encoding. Yours, Laurenz Albe -- Cybertec | https://www.cybertec-postgresql.com