Pergunta

Por algum motivo eu recebo um £ 76756687 Personagem estranho quando eu digito £ em um campo de texto no meu formulário?

Foi útil?

Solução

Como você suspeita, é um problema de codificação de personagens - a página está definida para usar um charset do UTF -8? (Você não pode errar com isso realmente.£)

Como exemplo de conjunto de caracteres (para a página do formulário e email HTML), você pode usar:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 

Dito isto, existe uma boa razão para o usuário ter que entrar no símbolo da moeda? Seria uma idéia melhor tê -lo como um item de texto estático ou uma queda à esquerda do campo de texto? (Sinta -se à vontade para ignorar se eu estiver falando de bunda e estiver usando uma textarea ou sump de forma livre.)

Outras dicas

Você provavelmente está usando o UTF-8 como codificação de caracteres, mas não declare sua saída corretamente. Porque o £ O caractere (U+00A3) é codificado no UTF-8 com 0xc2a3. E essa sequência de bytes representa os dois caracteres  e £ Quando interpretado com ISO 8859-1.

Então você só precisa especificar seu personagem que codifica corretamente. No PHP, você pode usar o header função Para definir o valor adequado para Tipo de conteúdo campo de cabeçalho Curti:

header('Content-Type: text/html;charset=utf-8');

Mas certifique -se de chamar essa função antes de qualquer saída. Caso contrário, o cabeçalho HTTP já foi enviado e você não poderá modificá -lo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top