javascript - change - libra esterlina
¿Por qué no puedo mostrar un símbolo de libra(£) en HTML? (8)
¿Has intentado mostrar un £
?
Here hay una lista abrumadora.
Estoy tratando de mostrar el símbolo de libra en HTML (desde PHP) pero todo lo que obtengo es un símbolo con un signo de interrogación.
Las siguientes son cosas que he intentado.
En PHP:
header(''Content-type: text/html; charset=utf-8'');
En HTML, pon esto en la etiqueta principal:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Intenté mostrarlo usando una función de JavaScript que lo convierte en:
&#65533;
Supongo que ayudaría si supiera lo que estaba haciendo ... pero supongo que es por eso que estoy haciendo esta pregunta :)
Conjetura educada: Usted tiene un signo de libra con codificación ISO-8859-1 en una página con codificación UTF-8.
Asegúrate de que tus datos estén en la codificación correcta y todo funcionará bien.
Debe guardar su archivo de script PHP en codificación UTF-8 y dejar el <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
en el HTML.
Para el editor de texto, recomiendo Notepad++ , porque puede detectar y mostrar la codificación real del archivo (en la esquina inferior derecha del editor), y también puede convertirlo.
Esto funciona en todo Chrome, IE, Firefox.
En Base de datos> tabla> tipo de campo. Por ejemplo, establezca la columna de símbolo TO varchar(2) utf8_bin
código php:
$symbol = ''£'';
echo mb_convert_encoding($symbol, ''UTF-8'', ''HTML-ENTITIES'');
or
html_entity_decode($symbol, ENT_NOQUOTES, ''UTF-8'');
Y también asegúrese de configurar la codificación HTML O XML a la codificación = "UTF-8"
Nota: Debe asegurarse de que la base de datos, el tipo de documento y el código php tengan todos la misma codificación
Sin embargo, la mejor solución sería usar £
O para otros equivalentes de código, pruebe:
£
£
Podría intentar usar £
o £
en lugar de incrustar el personaje directamente; si lo inserta directamente, es más probable que encuentre problemas de codificación en los que su editor guarda el archivo ISO-8859-1, pero se interpreta como UTF-8, o viceversa.
Si desea incrustarlo (u otros caracteres Unicode) directamente, asegúrese de guardar su archivo como UTF-8 y configure la codificación como lo hizo con el encabezado Content-Type
. Cuando obtenga el archivo del servidor, asegúrese de que el encabezado esté presente y sea correcto, y de que el servidor web no haya transcodificado el archivo.
Primero: el símbolo de libra es un carácter "especial" en la codificación utf8 (intente guardar £ $ en un archivo iso-8859-1 (o iso-8859-15) y obtendrá ä al codificar utilizando el encabezado)
2do: cambie su codificación a utf8 del archivo. hay muchos métodos para hacerlo. bloc de notas y bloc de notas ++ son grandes sugestiones.
3º: use ob_start (); (en php) ANTES DE REALIZAR CUALQUIER SALIDA si obtiene errores de codificación extraños, como perder la codificación a veces. y SÍ, ¡esto lo resuelve! este tipo de errores ocurre cuando una página está codificada en Windows-1252 (ANSI), ASCII, iso-8859-1 (5) y luego tiene todas las demás en utf8. este es un error terrible y puede causar cosas raras como session_start (); no funciona.
4º: otras soluciones de php:
utf8_encode(''£'');
htmlentities(''£'');
echo ''&pound;'';
Quinto: soluciones javascript:
document.getElementById(''id_goes_here'').innerText.replace(''£'',''&pound;'');
document.getElementById(''id_goes_here'').innerText.replace(''£'',"/u00A3");
$(this).html().replace(''£'',''&pound;''); //jquery
$(this).html().replace(''£'',"/u00A3"); //jquery
String.fromCharCode(''163'');
DEBE enviar £, por lo que reparará el punto codificado roto. por favor, evita estas soluciones! usa php! estas soluciones solo muestran cómo ''arreglar'' el error, y el último solo para crear el char bien codificado.
Use £
. Tuve el mismo problema y lo resolví usando jQuery:
$(this).text(''&#163;'');
- Si prueba esto y no funciona, simplemente cambie los métodos jQuery,
$(this).html(''&#163;'');
- Esto siempre funciona en todos los contextos ...