per il primo problema non puoi risolverlo con il php ma con il css, ovvero devi applicare un tema al campo input decidento tu il background-color.
per il secondo problema si parla di UNICODE, ovvero, quando tu salvi i dati nel database mysql vengono salvati con una codifica precisa (di base dovrebbe essere la LATIN1) però in molti casi alcuni script cambiano il tipo di connessione con il mysql e salvano o scrivono i dati in un atra codifica.
Un esempio è che se tu hai scritto i dati nel database con il phpmyadmin, esso di solito instaura una connessione UTF-9 e non LATIN1 e quindi i caratteri non UNICODE (òàèéùì°ç§...) o non vengono letti o vengono interpretati in modo diverso.
per risolvere questo problema devi sapere con che codifica hai salvato i dati usl mysql e instausare una connessione con la stessa codifica per leggerli