Visto che l'<input> non da problemi, ma <textarea> si, la cosa mi fa pensare che il problema non sia nella pagina, ma nella tabella del database. Magari una colonna è definita in modo sbagliato, o qualcosa di simile.
- Qual'era l'errore PDO?
- Come è fatta la tabella?
Per la seconda domanda, può esserti utile la query SHOW CREATE TABLE `tabella`, dove siamo interessati al charset delle colonne di testo ed della tabella stessa.
Ad esempio:
Codice:
CREATE TABLE `articles` (
`title` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
`content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
[...]
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
qua vedi che sia titolo e contenuto possono contenere utf8mb4 (le emoji funzionano!), e questo corrisponde al charset della tabella.