with strip_tags remove ent_quotes ejemplo php character-encoding non-ascii-characters

php - strip_tags - ''se muestra en lugar de-



strip_tags wordpress (5)

’ se muestra en lugar de - en la página php

Traté de usar diferentes tipos de codificación como:

<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>

y

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

pero el resultado es el mismo. ¿Cual podría ser el problema?

Entrada

<strong style="color:#A8A8A8;">1</strong> - Lorem Ipsum.

Resultado

1 â € "Lorem Ipsum.


Asegúrese de que su encabezado html especifique utf8

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

Por lo general, el truco para mí (obviamente, si el contenido es utf8).

No necesita convertir a entidades html si establece el tipo de contenido.

mira http://php.net/manual/en/function.mb-convert-encoding.php

<?php header(''Content-Type: text/html; charset=utf-8''); mb_internal_encoding(''utf-8''); ?>

puede ser que esto te ayude


El hecho de que la etiqueta meta no modifique la salida es un fuerte indicador de que hay algo que la anula; probablemente sea el conjunto de caracteres especificado en el encabezado HTTP (que tiene precedencia sobre la metaetiqueta), ¿está seguro de que no lo está configurando allí?


Parece que sus datos de origen se convierten de una a otra codificación en el camino. Intente asegurarse de que TODOS los pasos tengan la misma codificación.

  1. ¿Sus datos (MySQL?) Están almacenados como UTF8?
  2. ¿Tu archivo .php está guardado como UTF8?

Los errores de conversión como este suelen aparecer cuando se manejan datos UTF8 como datos ISO-8859-1. (multibyte vs singlebyte? no estoy seguro).


Su documento probablemente está codificado en UTF-8 ya que – es la presentación iso-8859-1 del carácter codificado UTF-8 .

Lo que necesitas es la metaetiqueta que describes:

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

Como no funciona, la etiqueta puede ignorarse. La sugerencia es usar el navegador y verificar qué codificación intenta usar (Herramientas - Codificación en Chrome).

  • Si el navegador usa UTF-8, ha codificado doblemente los caracteres. Comprueba tu código si es así para que no tengas un excesivo utf8_encode(...)
  • Si el navegador usa Latin1 (iso-8859-1) su etiqueta es ignorada o anulada por el encabezado HTTP. Intente validar su HTML con un validador en línea. Verifique la información del encabezado enviado con la herramienta de desarrollo de su navegador para asegurarse de que iso-8859-1 no esté configurado como codificación.

Tuve el mismo problema al crear un archivo desde javacode y establecer la codificación en UTF-16.