首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Textarea不显示mysql中的希伯来语文本

问Textarea不显示mysql中的希伯来语文本
EN

Stack Overflow用户
提问于 2012-03-09 21:44:51
回答 2查看 2.1K关注 0票数 0

我正在尝试将一些特定的文本从mysql返回到文本区域。现在,从mysql返回的文本具有

代码语言:javascript
复制
    collation=utf8_unicode_ci 

字符集是通过在我的php文件中添加下面这一行来设置的。

代码语言:javascript
复制
   <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-8-i" />

我想不出这里有什么问题。一切看起来都很好,但是为什么文本区域不显示希伯来语文本?相反,它显示“?”-问号。

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-03-09 21:54:14

在数据输入或检索期间,必须将MySQL配置为接受unicode(UTF-8)数据。有很多方法,你可以做到这一点

  1. 将此行放在数据库连接部分

mysql_set_charset('utf8',$link);//$link是您的连接标识符

  • Run charset utf8 on CLI

  • 将SET NAMES 'utf8'用作您对数据库

的第一个查询

此外,当在屏幕上输出这样的数据时,html也应该被配置为理解unicode字符。使用

代码语言:javascript
复制
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />

在显示页面的顶部。

票数 0
EN

Stack Overflow用户

发布于 2012-04-05 06:48:02

尝试此设置。

代码语言:javascript
复制
    //  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编码是一种好的做法,除非您有其他原因不这样做。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9635030

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档