Eu tenho várias páginas PHP ecoando várias coisas em páginas HTML com o seguinte código.
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
No entanto, quando valido usando o validador W3C, ele aparece:
A codificação de caracteres especificada no cabeçalho HTTP (iso-8859-1) é diferente do valor no elemento (utf-8).
Eu sou bastante novo no PHP e estava pensando se poderia e deveria alterar o cabeçalho dos arquivos PHP para corresponder aos arquivos HTML.
php
html
http-headers
muitos queijos
fonte
fonte
<meta>
tag.META
é usado quando o documento HTML não é carregado via HTTP (por exemplo, do disco).Primeiro, verifique se os arquivos PHP estão codificados em UTF-8 .
A metatag é ignorada por algum navegador. Se você usar apenas caracteres ASCII, isso não importa.
http://en.wikipedia.org/wiki/List_of_HTTP_header_fields
fonte
Esse é um problema com o servidor da Web enviando um cabeçalho HTTP que não corresponde ao que você define. Para obter instruções sobre como fazer o servidor enviar os cabeçalhos corretos, consulte esta página .
Caso contrário, você também pode usar o PHP para modificar os cabeçalhos, mas isso deve ser feito antes da saída de qualquer texto usando este código:
Mais informações sobre como enviar cabeçalhos usando PHP podem ser encontradas na documentação da função de cabeçalho .
fonte
Você também pode usar uma maneira mais curta:
Veja RFC 2616 . É válido especificar apenas o conjunto de caracteres.
fonte
Content-Type = "Content-Type" ":" media-type
emedia-type = type "/" subtype *( ";" parameter )
Para uma implementação correta, você precisa alterar uma série de coisas.
Banco de dados (imediatamente após a conexão):
fonte
O PHP envia cabeçalhos automaticamente se configurado para usar codificação interna:
fonte