我正在尝试将一些特定的文本从mysql返回到文本区域。现在,从mysql返回的文本具有
collation=utf8_unicode_ci 字符集是通过在我的php文件中添加下面这一行来设置的。
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-8-i" />我想不出这里有什么问题。一切看起来都很好,但是为什么文本区域不显示希伯来语文本?相反,它显示“?”-问号。
谢谢。
发布于 2012-03-09 21:54:14
在数据输入或检索期间,必须将MySQL配置为接受unicode(UTF-8)数据。有很多方法,你可以做到这一点
mysql_set_charset('utf8',$link);//$link是您的连接标识符
charset utf8 on CLI
SET NAMES 'utf8'用作您对数据库的第一个查询
此外,当在屏幕上输出这样的数据时,html也应该被配置为理解unicode字符。使用
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />在显示页面的顶部。
发布于 2012-04-05 06:48:02
尝试此设置。
// 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记住对显示/返回mysql输出的网页进行编码。默认情况下,在所有网页上声明utf-8编码是一种好的做法,除非您有其他原因不这样做。
https://stackoverflow.com/questions/9635030
复制相似问题