diff --git a/gerbview/readgerb.cpp b/gerbview/readgerb.cpp index 586c8721b0..e3951696d2 100644 --- a/gerbview/readgerb.cpp +++ b/gerbview/readgerb.cpp @@ -322,8 +322,18 @@ bool GERBER_FILE_IMAGE::LoadGerberFile( const wxString& aFullFileName ) break; default: - msg.Printf( wxT( "Unexpected char 0x%2.2X (%c)" ), *text, *text ); - AddMessageToList( msg ); + char charBuf[2] = { *text, 0 }; + wchar_t wcharBuf[2] = { 0 }; + + wxWhateverWorksConv().ToWChar( wcharBuf, 1, charBuf, 1 ); + + if( wcharBuf[0] < 32 ) // Don't render control characters + wcharBuf[0] = '?'; + + msg.Printf( wxT( "Unexpected char 0x%2.2X (%c)" ), (unsigned char) *text, + wcharBuf[0] ); + + AddMessageToList( EscapeHTML( msg ) ); text++; break; }