No tengo problemas con la codificación de caracteres.Bases de datos, codificación de caracteres, archivos PDF y XML
La situación
se carga un archivo que se convierte en XML. La codificación de caracteres de este archivo varía, sin embargo, pueden aparecer citas inteligentes, entidades y varios ASCII. Una vez que este archivo se convierte a XML, se almacena en una base de datos. A petición del usuario, el XML puede extraerse de la base de datos y convertirse en una matriz donde luego se crea en un PDF.
El problema
codificación de caracteres. Desde el principio, la codificación de caracteres ha jugado un gran problema. Me gustaría saber;
- Qué codificación de caracteres generalmente cubre todo el "espectro". Por ejemplo, un
°
que no se reconoce al analizar XML o una cita inteligente (’
). La cita inteligente se convertirá en’
, etc., etc. - Cómo almacenar XML en una base de datos. La encriptación es una posibilidad, sin embargo la codificación de la base de datos es donde me estoy perdiendo.
- Cómo obtener las entidades, comillas inteligentes (y otros caracteres que pueden causar un problema) para aparecer correctamente en una base de datos y con un
Å
en frente de cosas.
Los intentos de un trabajo alrededor
me han hecho diversas funciones que "intento" para resolver mi problema - la conversión de algunos caracteres en otro. Sin embargo, supongo que este es el completamente manera incorrecta de hacerlo y debería estar cambiando la codificación de caracteres.
/*
* Converts smart quotes to ascii
*/
function convert_smart_quotes($string) {
$string = iconv("UTF-8", "UTF-32", $string);
$string = mb_convert_encoding($string, 'HTML-ENTITIES', 'UTF-32');
$string = str_replace('', '', $string);
$search = array('‘', '’', '“', '”', '—');
$replace= array("'", "'", '"', '"', '-');
$string = str_replace($search, $replace, $string);
return $string;
}
/*
* Converts some entities to an ISO format?
*
* Example : ° => °
*/
function entity_to_iso($string) {
return html_entity_decode($string, ENT_QUOTES & ~ENT_COMPAT, 'ISO-8859-1');
}
En última instancia, mi problema reside en el hecho de que yo no sé la codificación del archivo que se sube. Tuve una idea de switch
que intenta convertir caracteres en algo más de base de datos y "compatible con PDF". Sin embargo, mucha búsqueda en Google ha resultado en soluciones de trabajo amargas o matrices que una cosa a otra. ¿Es esta realmente la solución?
Cualquier consejo, soluciones o dedos apuntados en una mejor dirección son todos útiles y muy apreciados. Gracias.
hola amigo, tengo un problema similar ¿llegaste a algún lado con esto? – Drakoumel