Pregunta

Por alguna razón, me sale un  £ 76.756.687 carácter raro cuando introduzco una £ en un campo de texto en mi formulario?

¿Fue útil?

Solución

Como se sospecha, que es un problema de codificación de caracteres - está configurado para utilizar un juego de caracteres UTF-8 de la página? (Usted no puede ir mal con esta codificación de verdad.) Además, es probable que desee para codificar la entidad símbolo de la libra en la salida (£)

A modo de ejemplo conjunto de caracteres (por tanto la página del formulario de correo electrónico y HTML) que puede usar:

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

Dicho esto, es que hay una buena razón para que el usuario tenga que introducir el símbolo de la moneda? ¿Sería una mejor idea de tenerlo ya sea como un elemento de texto estático o un menú desplegable a la izquierda del campo de texto? (No dude en pasar por alto si estoy hablando culo y está usando un área de texto de forma libre o summat.)

Otros consejos

Probablemente se esté utilizando UTF-8 como codificación de caracteres pero no se declare su salida correctamente. Debido a que el carácter £ (U + 00A3) se codifica en UTF-8 con 0xC2A3. Y esa secuencia byte representa la  dos personajes y £ cuando se interpretan con la norma ISO 8859-1.

Así que sólo tiene que especificar su codificación de caracteres correctamente. En PHP puede utilizar el header función para establecer el valor adecuado para Content-Type campo de encabezado como:

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

Pero asegúrese de que se llama a esta función antes de cualquier salida. De lo contrario, la cabecera HTTP ya está enviado y que no puede modificarlo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top