Ya te decía que es necesario que pongas todo el código que usas para verlo en su contexto.
En principio .. se trata cuando generas esa "salida" desde PHP (tu "print $palabra" .. que por otro lado debería ser echo o print $_POST['palabra'] .. en $_GET ...) vas a generar HTML .. como "página" HTML que generas esta tiene o puede forzar su codificación del "charset" a usar.
Me refiero a que debes componer una página HTML en regla . .con sus <html> .. </html> y sus definiciones del "chartset" a usar:
Código PHP:
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
Si no haces esto .. tu servidor HTTP (Apache o el que uses) por defecto envia su "charset" por defecto que debería ser "iso-8859-1" en tu caso .. si es distinto a ese . .observaras esos caracteres "extraños" cuando envies acentos o palabras que contengan dieresis y similares.
Un saludo,