Re: [Ovillo] ¿UTF o ISO 8859?
2009/4/22 Tei : > ¿Que tiene que ver .htaccess o MySQL en todo esto?. Nada, simplemente cambié la configuración de este archivo para corroborar tu teoría: la base de datos está sirviendo los archivos o recibiéndolos como ISO-8859. Pero bueno, ya lo solucioné gracias a las indicaciones de Daniel :) Saludos y gracias a todos. ___ Lista de distribución Ovillo Para escribir a la lista, envia un correo a Ovillo@lists.ovillo.org Puedes modificar tus datos o desuscribirte en la siguiente dirección: http://lists.ovillo.org/mailman/listinfo/ovillo
Re: [Ovillo] ¿UTF o ISO 8859?
2009/4/22 Tae Sandoval Murgan : > 2009/4/21 Tei : >> De todos modos quizas tu problema es que estas intentando guardar en >> la bd datos en otra codificacion, y no utf-8. Y cuando los recuperas >> naturalmente no estan en UTF-8, sino en la codificacion original. >> (porque el origen de esos datos es un formulario en otra >> codificacion, por ejemplo. ) > > Gracias por la respuesta Tei. Al parecer eso es lo que sucede, pues > cambié la configuración del .htaccess para que sirva los documentos > como ISO-8859-1 y resulta que ahora los datos de la BD se muestran > como deben, más no el texto escrito en los archivos .php o .html, que > están en UTF-8. Ahora bien, he probado insertar nuevas filas mediante > sentencias SQL en phpMyAdmin así como subir archivos .sql, y la cosa > sigue igual. > ¿Que tiene que ver .htaccess o MySQL en todo esto?. Si la pagina de formulario esta en UTF-8 y lo que sea que envié lo guardas en un campo de una base de datos, y eso mismo lo recuperas y lo muestras en una pagina UTF-8, se vera correcto. Punto y final. Si tienes un problema simple: Capturas caracteres en Latin1, y estas mostrandolos diciendo que es UTF-8. La solucion es mas sencilla que todo esto que estas intentando. Captura los caracteres en UTF-8 directamente. Y si la entrada no esta bajo tu control, puedes usar la funcion iconv de php (y equivalentes en otros lenguajes) para convertir a UTF-8. -- -- ℱin del ℳensaje. ___ Lista de distribución Ovillo Para escribir a la lista, envia un correo a Ovillo@lists.ovillo.org Puedes modificar tus datos o desuscribirte en la siguiente dirección: http://lists.ovillo.org/mailman/listinfo/ovillo
Re: [Ovillo] ¿UTF o ISO 8859?
Hola, en el archivo donde tengas la conexión a la base de datos, prueba a escribir lo siguiente tras la selección de la base de datos: mysql_query("SET NAMES UTF8"); Esto es, el archivo tendrá esta forma: Seguramente te valga también con esto: mysql_query("SET CHARACTER_SET_RESULTS = UTF8"); ya que el cliente y la conexión ya están configurados para utf-8. Saludos. 2009/4/22 Tae Sandoval Murgan > 2009/4/21 Tei : > > De todos modos quizas tu problema es que estas intentando guardar en > > la bd datos en otra codificacion, y no utf-8. Y cuando los recuperas > > naturalmente no estan en UTF-8, sino en la codificacion original. > > (porque el origen de esos datos es un formulario en otra > > codificacion, por ejemplo. ) > > Gracias por la respuesta Tei. Al parecer eso es lo que sucede, pues > cambié la configuración del .htaccess para que sirva los documentos > como ISO-8859-1 y resulta que ahora los datos de la BD se muestran > como deben, más no el texto escrito en los archivos .php o .html, que > están en UTF-8. Ahora bien, he probado insertar nuevas filas mediante > sentencias SQL en phpMyAdmin así como subir archivos .sql, y la cosa > sigue igual. > > Ahora bien, al ingresar a phpMyAdmin dice en uno de sus cuadros de > resúmenes: "MySQL charset: UTF-8 Unicode (utf8)", pero la examinar > las variables me encontré con lo siguiente: > > character set clientutf8 > (Global value) latin1 > character set connectionutf8 > (Global value) latin1 > character set database latin1 > character set filesystembinary > character set results utf8 > (Global value) latin1 > character set serverlatin1 > character set systemutf8 > collation connectionutf8_spanish_ci > (Global value) latin1_general_ci > collation database latin1_general_ci > collation serverlatin1_general_ci > > ¿Tendrá esto algo que ver con mi problema? Porque por más que navegue > por las páginas de phpMyAdmin no encuentro otra opción de codificación > más que el cotejamiento de cada base y tabla, así que imagino que > estas variables sólo las puede modificar el administrador del sistema > editando algún archivo de configuración. Trabajando en local puedo > leer la documentación y hacerlo yo misma, pero una vez que todo esté > en línea... > > Gracias nuevamente y perdón por las molestias! > ___ > Lista de distribución Ovillo > Para escribir a la lista, envia un correo a Ovillo@lists.ovillo.org > Puedes modificar tus datos o desuscribirte en la siguiente dirección: > http://lists.ovillo.org/mailman/listinfo/ovillo > ___ Lista de distribución Ovillo Para escribir a la lista, envia un correo a Ovillo@lists.ovillo.org Puedes modificar tus datos o desuscribirte en la siguiente dirección: http://lists.ovillo.org/mailman/listinfo/ovillo
Re: [Ovillo] ¿UTF o ISO 8859?
2009/4/21 Tei : > De todos modos quizas tu problema es que estas intentando guardar en > la bd datos en otra codificacion, y no utf-8. Y cuando los recuperas > naturalmente no estan en UTF-8, sino en la codificacion original. > (porque el origen de esos datos es un formulario en otra > codificacion, por ejemplo. ) Gracias por la respuesta Tei. Al parecer eso es lo que sucede, pues cambié la configuración del .htaccess para que sirva los documentos como ISO-8859-1 y resulta que ahora los datos de la BD se muestran como deben, más no el texto escrito en los archivos .php o .html, que están en UTF-8. Ahora bien, he probado insertar nuevas filas mediante sentencias SQL en phpMyAdmin así como subir archivos .sql, y la cosa sigue igual. Ahora bien, al ingresar a phpMyAdmin dice en uno de sus cuadros de resúmenes: "MySQL charset: UTF-8 Unicode (utf8)", pero la examinar las variables me encontré con lo siguiente: character set clientutf8 (Global value) latin1 character set connectionutf8 (Global value) latin1 character set database latin1 character set filesystembinary character set results utf8 (Global value) latin1 character set serverlatin1 character set systemutf8 collation connectionutf8_spanish_ci (Global value) latin1_general_ci collation database latin1_general_ci collation serverlatin1_general_ci ¿Tendrá esto algo que ver con mi problema? Porque por más que navegue por las páginas de phpMyAdmin no encuentro otra opción de codificación más que el cotejamiento de cada base y tabla, así que imagino que estas variables sólo las puede modificar el administrador del sistema editando algún archivo de configuración. Trabajando en local puedo leer la documentación y hacerlo yo misma, pero una vez que todo esté en línea... Gracias nuevamente y perdón por las molestias! ___ Lista de distribución Ovillo Para escribir a la lista, envia un correo a Ovillo@lists.ovillo.org Puedes modificar tus datos o desuscribirte en la siguiente dirección: http://lists.ovillo.org/mailman/listinfo/ovillo
Re: [Ovillo] ¿UTF o ISO 8859?
2009/4/21 Tae Sandoval Murgan : > Gracias nuevamente por todas las respuestas. Finalmente me decidí por > UTF-8 con cotejamiento spanish_ci, pero los caracteres especiales > tomados de la base de datos son reemplazados por un signo de > interrogación, como si tuvieran otra codificación. No pasa lo mismo > con el texto escrito en los archivos .html o .php. A continuación lo > que he intentado de momento: De todos modos quizas tu problema es que estas intentando guardar en la bd datos en otra codificacion, y no utf-8. Y cuando los recuperas naturalmente no estan en UTF-8, sino en la codificacion original. (porque el origen de esos datos es un formulario en otra codificacion, por ejemplo. ) No creo que hayas activado ningun modo de conversion automatica por parte de MySQL. Puedes probar a visitar esta pagina http://zerror.com/bin/wex/?url= Para ver si esos interrogantes son dos bytes (posiblemente UTF-8) o un solo byte (posiblemente Latin1). Me supongo que lo ultimo. Como curiosidad, te pongo como define los campos de texto Wikipedia: `ar_title` varchar(255) character set latin1 collate latin1_bin NOT NULL default jida...@jidanni.org schrieb: > The BLOBs are fine, it's just the VARCHARs, > `ar_title` varchar(255) character set latin1 collate latin1_bin NOT NULL > default '', > How can one convert these back to UTF-8 with a script, outside of mysql, just > for > occasional viewing of the SQL dumps outside of the wiki. > Yes, my wiki works fine. > OK, I'll study > http://www.oreillynet.com/onlamp/blog/2006/01/turning_mysql_data_in_latin1_t.html Again: never mind what it is declared as, it *is* UTF-8. MySQL may however automatically convert it on the way to the clinet or dump program. To prevent that, tell mysql that the encoding of your client is latin1. Confusing? Hell yea :) -- daniel -- -- ℱin del ℳensaje. ___ Lista de distribución Ovillo Para escribir a la lista, envia un correo a Ovillo@lists.ovillo.org Puedes modificar tus datos o desuscribirte en la siguiente dirección: http://lists.ovillo.org/mailman/listinfo/ovillo
Re: [Ovillo] ¿UTF o ISO 8859?
Gracias nuevamente por todas las respuestas. Finalmente me decidí por UTF-8 con cotejamiento spanish_ci, pero los caracteres especiales tomados de la base de datos son reemplazados por un signo de interrogación, como si tuvieran otra codificación. No pasa lo mismo con el texto escrito en los archivos .html o .php. A continuación lo que he intentado de momento: - Especificar cotejamiento utf8_spanish_ci tanto para la base de datos como para las tablas. - Revisado que todos los archivos, sean .php o .html, estén guardados como UTF-8 sin BOM. - Crear un archivo .htaccess en public_html (estoy trabajando en local) con la línea AddDefaultCharset utf-8. - Especificar la codificación en la cabecera de los archivos HTML mediante: . Y se me acabaron las ideas. Por cierto, administro la base de datos con phpMyAdmin 3.1.3.2. Gracias de antemano por cualquier pista que me puedan lanzar. ___ Lista de distribución Ovillo Para escribir a la lista, envia un correo a Ovillo@lists.ovillo.org Puedes modificar tus datos o desuscribirte en la siguiente dirección: http://lists.ovillo.org/mailman/listinfo/ovillo
Re: [Ovillo] ¿UTF o ISO 8859?
2009/4/20 Daniel Navarro ... > Ten especial cuidado en editar en UTF-8 sin el BOM. El BOM o Byte Order > Mark, en el caso de UTF-8 sólo sirve para indicar que el fichero está en > unicode. Es una secuencia de tres bytes al principio del documento (EF BB > BF) y es especialmente problemático con las aplicaciones que no entienden > unicode. Por ejemplo, la función header() de php no funcionaría. BOM es sobretodo para indicar el Byte Order en formatos UCS-2. Si el documento es Littel Endian o Big Endian. Como UTF-8 siempre tiene el mismo Byte Order, tiene poco sentido, y crea problemas como comentas. -- -- ℱin del ℳensaje. ___ Lista de distribución Ovillo Para escribir a la lista, envia un correo a Ovillo@lists.ovillo.org Puedes modificar tus datos o desuscribirte en la siguiente dirección: http://lists.ovillo.org/mailman/listinfo/ovillo
Re: [Ovillo] ¿UTF o ISO 8859?
Hola, Tae. Ignoro la diferencia de rendimiento de mysql entre usar una codificación u otra. Dices que conoces UTF-8, así que lo que cuento a continuación lo dirijo a quien lo desconozca: Mi recomendación es que mires al futuro y uses el juego de caracteres UTF-8. En cuanto al almacenamiento, un texto con caracteres del ASCII original de 7bits ocupa lo mismo tanto en ISO 8859-1 (Latin-1) como en utf-8: un byte por carácter. Es más, si el archivo utf-8 no incluye la marca BOM, entonces son iguales. Cuando añades caracteres como la ñ, las vocales acentuadas y otros símbolos fuera del ASCII estándar, entonces el archivo codificado en uft-8 es mayor que el codificado en Latin-1. Para el cotejamiento de la base de datos, elige utf_spanish_ci. El cotejamiento no tiene nada que ver con la representación interna de los caracteres, sino con la ordenación. Al establecer el cotejamiento en español, estás diciendo a mysql que la 'ñ' está entre la 'n' y la 'o', y que la 'á' (con tilde) es equivalente a la 'a' (sin tilde) en vez de estar después de la 'z' (como sucedería con un cotejamiento diferente). Ten especial cuidado en editar en UTF-8 sin el BOM. El BOM o Byte Order Mark, en el caso de UTF-8 sólo sirve para indicar que el fichero está en unicode. Es una secuencia de tres bytes al principio del documento (EF BB BF) y es especialmente problemático con las aplicaciones que no entienden unicode. Por ejemplo, la función header() de php no funcionaría. Hay varias incidencias que te pueden frustrar cuando trabajes UTF-8. Por ejemplo, si el servidor web está configurado para enviar en la cabecera http la codificación entonces el navegador hará caso omiso a la meta etiqueta indicada en el código html (esto es, si tú escribes en tu código que la codificación es UTF-8 y el servidor web indica que es Latin-1, el navegador creerá al servidor). Otro fallo muy común es indicar utf-8 en mysql y en la metaetiqueta del código html, pero guardar el archivo con formato ANSI en vez de utf-8. Es como usar un traductor de inglés para traducir un texto escrito en francés. Lo mejor es que agarres el toro por lo cuernos y codifiques en utf-8. Así estarás preparado para cuando tengas que trabajar en unicode. Si tienes algún tropiezo siempre puedes usar esta lista. Saludos. 2009/4/18 Tae Sandoval Murgan > Gracias a ambos por las respuestas :) Conozco bien las capacidades de > UTF-8 ya que tambié es la codificación de mi SO (Arch Linux). La > pregunta va más por el lado de si vale la pena usarlo para una web que > usará cuando mucho 2 idiomas y no recibirá trackbacks o similares. > Quizás sí, quizás la sobrecarga del servidor y el espacio en disco no > sea mucho mayor que la utilizada por ISO-8859. O quizás en lugar de > usar utf-unicode-ci sea más conveniente utf-spanish-ci o spanish2-ci. > ___ > Lista de distribución Ovillo > Para escribir a la lista, envia un correo a Ovillo@lists.ovillo.org > Puedes modificar tus datos o desuscribirte en la siguiente dirección: > http://lists.ovillo.org/mailman/listinfo/ovillo > ___ Lista de distribución Ovillo Para escribir a la lista, envia un correo a Ovillo@lists.ovillo.org Puedes modificar tus datos o desuscribirte en la siguiente dirección: http://lists.ovillo.org/mailman/listinfo/ovillo
Re: [Ovillo] ¿UTF o ISO 8859?
Hola Tae, No se, yo me pregunto, ¿es tan critico el rendimiento de la BD? si no va a tener visitas foraneas, quizas la direferencia entre una u otra codificacion va a ser tan nimia que no deberias preocuparte. Alex 2009/4/18 Tae Sandoval Murgan > Gracias a ambos por las respuestas :) Conozco bien las capacidades de > UTF-8 ya que tambié es la codificación de mi SO (Arch Linux). La > pregunta va más por el lado de si vale la pena usarlo para una web que > usará cuando mucho 2 idiomas y no recibirá trackbacks o similares. > Quizás sí, quizás la sobrecarga del servidor y el espacio en disco no > sea mucho mayor que la utilizada por ISO-8859. O quizás en lugar de > usar utf-unicode-ci sea más conveniente utf-spanish-ci o spanish2-ci. > ___ > Lista de distribución Ovillo > Para escribir a la lista, envia un correo a Ovillo@lists.ovillo.org > Puedes modificar tus datos o desuscribirte en la siguiente dirección: > http://lists.ovillo.org/mailman/listinfo/ovillo > -- Alex Lillo www.nordic-design.net ___ Lista de distribución Ovillo Para escribir a la lista, envia un correo a Ovillo@lists.ovillo.org Puedes modificar tus datos o desuscribirte en la siguiente dirección: http://lists.ovillo.org/mailman/listinfo/ovillo
Re: [Ovillo] ¿UTF o ISO 8859?
Gracias a ambos por las respuestas :) Conozco bien las capacidades de UTF-8 ya que tambié es la codificación de mi SO (Arch Linux). La pregunta va más por el lado de si vale la pena usarlo para una web que usará cuando mucho 2 idiomas y no recibirá trackbacks o similares. Quizás sí, quizás la sobrecarga del servidor y el espacio en disco no sea mucho mayor que la utilizada por ISO-8859. O quizás en lugar de usar utf-unicode-ci sea más conveniente utf-spanish-ci o spanish2-ci. ___ Lista de distribución Ovillo Para escribir a la lista, envia un correo a Ovillo@lists.ovillo.org Puedes modificar tus datos o desuscribirte en la siguiente dirección: http://lists.ovillo.org/mailman/listinfo/ovillo
Re: [Ovillo] ¿UTF o ISO 8859?
Pues yo he trabajado con utf-8 y no he tenido muchos problemas. Yo te recomendaría usar UTF8 por sus ventajas técnicas y porque tarde o temprano va a terminar imponiéndose. Por cierto, si usas ISO, usa ISO-8859-15, con el 5 al final que es la que soporta el símbolo del €. 2009/4/17 Tei > 2009/4/17 Tae Sandoval Murgan > > > Saludos: > > > > Quizás la pregunta sea algo Off Topic, sin embargo la experiencia me > > ha demostrado que este es el mejor lugar :) > > > > Verán, hasta hace un tiempo creí que lo mejor de lo mejor es usar > > algún UTF para la codificación de las páginas y olvidarse de las > > normas ISO, sin embargo en esta ocasión me toca trabajar con bases de > > datos, por vez primera, y leí por ahí que al utilizar UTF MySQL usa > > más espacio en disco y carga del servidor. Supuestamente la página > > sólo estará en español, o cuando mucho, en español en inglés, y > > entonces me pregunto ¿vale la pena usar UTF, o mejor me quedo con ISO > > 8859 tanto para la base de datos como para la cabecera HTTP? ¿Que > > opinan? > > > > yo tengo el sistema operativo en UTF-8 (ubuntu), escribo todo en UTF-8 > (este mismo correo se va a enviar en UTF-8) > > . Фон он свой напр因此, 韩语 做成混淆 人们使用繁体中文编码时可以很方便地转换成 > 诗歌的韵律以及对外国人名的翻译中可以找到足够的信息 新 汉语与欧洲语言 有人对简体汉字抱赞同态度 这种方言对清浊辅音的区分是个很明显的ταλάθος > προσता उदेश शीघ्र तकरीबन जागरुक प्रसारन जनित बाटते मुक्त भोगोलिक बेंगलूर > उपयोगकर्ता बदले दोषसके पत्रिका व्रुद्धि रखते विवरण अधिकार हुएआदि कार्यकर्ता > ७हल खरिदे उनका पत्रिका हार्डवेर सार्वजनिक बनाति संदेश आपके वर्तमान > बिन्दुओमे > भेदनक्षम polokan tahti jalakani pohjii kutkutti Ievan äiti se tyttöösä > va > > ...guardo los datos en UTF-8 en MySQL, aunque este trata los datos como un > binario (u otra tabla de codigos, no sabe que es unicode). No es sano > decirle otra cosa, enloqueceria. Ademas la implementacion de collation de > unicode para MySQL tiene bugs que hace que se cuelga para algunos > caracteres > raros (cosas que uno se entera leyendo la lista tecnica de la wikipedia). > > Asi que por coherencia te voy a aconsejar UTF-8. > > Pero vamos... si es verdad lo que me dices, de que solo va a haber esos > dos > idiomas, podrias hacer la pagina en ISO-8859-1 perfectisimamente, y > seguramente ahorrarte verdaderos quebraderos de cabeza con clientes y > servidores pobremente configurados, herramientas que no soportan UTF-8. > > Y creo que es lo que te va a recomendar todo el mundo, usa lo que sepas > utilizar, si es ISO-8859, pues eso. No hay nada de malo en ello. > ISO-8859 > no tiene programado una obsolescencia. > > > por otra parte, planteate si no te interesa aprender a usar UTF-8, y darte > de cabezazos con los problemas enormes que surgiran si te enfrentas a el. > Es un poco como aprender un idioma (ingles o aleman o unodestos): da dolor > de cabeza. Luego a veces es util (menos frances, que es la cosa mas inutil > que he aprendido en mi puta vida)... para ti, como conocimiento en tu > repertorio, pero no para la pagina que nos comentas. > > -- > -- > ℱin del ℳensaje. > ___ > Lista de distribución Ovillo > Para escribir a la lista, envia un correo a Ovillo@lists.ovillo.org > Puedes modificar tus datos o desuscribirte en la siguiente dirección: > http://lists.ovillo.org/mailman/listinfo/ovillo > ___ Lista de distribución Ovillo Para escribir a la lista, envia un correo a Ovillo@lists.ovillo.org Puedes modificar tus datos o desuscribirte en la siguiente dirección: http://lists.ovillo.org/mailman/listinfo/ovillo
Re: [Ovillo] ¿UTF o ISO 8859?
2009/4/17 Tae Sandoval Murgan > Saludos: > > Quizás la pregunta sea algo Off Topic, sin embargo la experiencia me > ha demostrado que este es el mejor lugar :) > > Verán, hasta hace un tiempo creí que lo mejor de lo mejor es usar > algún UTF para la codificación de las páginas y olvidarse de las > normas ISO, sin embargo en esta ocasión me toca trabajar con bases de > datos, por vez primera, y leí por ahí que al utilizar UTF MySQL usa > más espacio en disco y carga del servidor. Supuestamente la página > sólo estará en español, o cuando mucho, en español en inglés, y > entonces me pregunto ¿vale la pena usar UTF, o mejor me quedo con ISO > 8859 tanto para la base de datos como para la cabecera HTTP? ¿Que > opinan? yo tengo el sistema operativo en UTF-8 (ubuntu), escribo todo en UTF-8 (este mismo correo se va a enviar en UTF-8) . Фон он свой напр因此, 韩语 做成混淆 人们使用繁体中文编码时可以很方便地转换成 诗歌的韵律以及对外国人名的翻译中可以找到足够的信息 新 汉语与欧洲语言 有人对简体汉字抱赞同态度 这种方言对清浊辅音的区分是个很明显的ταλάθος προσता उदेश शीघ्र तकरीबन जागरुक प्रसारन जनित बाटते मुक्त भोगोलिक बेंगलूर उपयोगकर्ता बदले दोषसके पत्रिका व्रुद्धि रखते विवरण अधिकार हुएआदि कार्यकर्ता ७हल खरिदे उनका पत्रिका हार्डवेर सार्वजनिक बनाति संदेश आपके वर्तमान बिन्दुओमे भेदनक्षम polokan tahti jalakani pohjii kutkutti Ievan äiti se tyttöösä va ...guardo los datos en UTF-8 en MySQL, aunque este trata los datos como un binario (u otra tabla de codigos, no sabe que es unicode). No es sano decirle otra cosa, enloqueceria. Ademas la implementacion de collation de unicode para MySQL tiene bugs que hace que se cuelga para algunos caracteres raros (cosas que uno se entera leyendo la lista tecnica de la wikipedia). Asi que por coherencia te voy a aconsejar UTF-8. Pero vamos... si es verdad lo que me dices, de que solo va a haber esos dos idiomas, podrias hacer la pagina en ISO-8859-1 perfectisimamente, y seguramente ahorrarte verdaderos quebraderos de cabeza con clientes y servidores pobremente configurados, herramientas que no soportan UTF-8. Y creo que es lo que te va a recomendar todo el mundo, usa lo que sepas utilizar, si es ISO-8859, pues eso. No hay nada de malo en ello. ISO-8859 no tiene programado una obsolescencia. por otra parte, planteate si no te interesa aprender a usar UTF-8, y darte de cabezazos con los problemas enormes que surgiran si te enfrentas a el. Es un poco como aprender un idioma (ingles o aleman o unodestos): da dolor de cabeza. Luego a veces es util (menos frances, que es la cosa mas inutil que he aprendido en mi puta vida)... para ti, como conocimiento en tu repertorio, pero no para la pagina que nos comentas. -- -- ℱin del ℳensaje. ___ Lista de distribución Ovillo Para escribir a la lista, envia un correo a Ovillo@lists.ovillo.org Puedes modificar tus datos o desuscribirte en la siguiente dirección: http://lists.ovillo.org/mailman/listinfo/ovillo