So the correct is the one that looks at you, so it depends on the case any one can be that correct looking, now if you are wanting to use the ABNT2 then a utf8 - default collation will resolve.
Regarding error message, so it seems you already have records in the table and these records can not (not valid) convert them to the other collation, a simple way to understand this is if you already have a character type ç and want to convert it to an American format where it does not exist, then it will generate an error.
did not ask but I'll post a coded example:
ALTER TABLE 'database'.'tabela' CHARACTER SET = utf8 ;
According to comments:
php.ini file
has a snippet of code that should be commented out, or if it does not exist write
; PHP's default character set is set to empty.
; http://php.net/default-charset
;default_charset = "UTF-8"
Remove the ; character that is n beginning of the line, default_charset="UTF-8" and restart the apache service.
In the http.conf file there is also a line where a charset configuration is done:
#AddDefaultCharset utf-8
Same schema remove the first character and restart the service