Que les trames arrivent sur un port série ou un autre cela ne change rien au programme. L'erreur doit être ailleurs.
D'ailleurs, dans l'exemple que tu cites:
client.print("<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />");
Le problème vient du fait que tu n’échappes pas les guillemets à l'intérieur de la chaîne de caractères et du coup ton code est incohérent.
client.print("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />");