Textarea no muestra texto hebreo de mysql
Frecuentes
Visto 2,129 veces
0
Estoy tratando de devolver un texto particular de mysql a un área de texto. Ahora este texto que regresa de mysql tiene
collation=utf8_unicode_ci
y el conjunto de caracteres se establece agregando esta línea en mi archivo php.
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-8-i" />
No puedo resolver el problema aquí. Todo se ve bien, pero ¿por qué el área de texto no muestra texto en hebreo? En su lugar, muestra "???????" - Signos de interrogación.
Gracias.
2 Respuestas
0
Durante la entrada o recuperación de datos, MySQL debe configurarse para aceptar datos Unicode (UTF-8). Hay un número de maneras, usted puede hacer esto
Coloque esta línea en la parte de conexión de la base de datos
mysql_set_charset('utf8',$link); //$link is your connection identifier
Ejecutar
charset utf8
en CLI- Utilice la herramienta
SET NAMES 'utf8'
como su primera consulta a la base de datos
Además, al mostrar dichos datos en la pantalla, el html también debe configurarse para comprender los caracteres Unicode. Usar
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
En la parte superior de la página de visualización.
respondido 09 mar '12, 14:03
0
Prueba esta configuración.
// encode web page 'utf-8' which holds the input form
<!DOCTYPE html>
<html lang="en"><head><meta charset="utf-8">
// Form submit from webpage
$text = stripslashes($_POST['text']);
// connect to database
$db = mysql_select_db("$my_databasename",$conn)
or die("ERR; Database");
// setup UTF-8 on pipe
mysql_query("SET character_set_results = 'utf8', character_set_client = 'utf8', character_set_connection = 'utf8', character_set_database = 'utf8', character_set_server = 'utf8'", $conn);
mysql_query("SET NAMES 'UTF8'");
$text = mysql_real_escape_string($text);
// insert to mysql here
Recuerde codificar la página web que muestra/devuelve la salida de mysql. Es una buena práctica declarar la codificación utf-8 en todas las páginas web de forma predeterminada, a menos que tenga otra razón para no hacerlo.
Respondido 04 Abr '12, 23:04
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas mysql character-encoding textarea hebrew or haz tu propia pregunta.
¿Está configurada su conexión mysql en UTF8 (ESTABLECER NOMBRES 'uft8')? ¿Su documento HTML está codificado en UTF-8? - Thorsten
Lo siento, no sé cómo configurar una conexión mysql a utf8. ¿Podría por favor aclarar eso? - Prateek
Su primera consulta después de conectarse a la base de datos debe ser
SET NAMES 'uft8'
- Thorstenmezclar/combinar conjuntos de caracteres como ese simplemente corromperá las cosas. Debe mantener el MISMO juego de caracteres durante toda la canalización. - Marc B