Php中的字符编码错误

时间:2016-03-14 18:31:29

标签: php html mysql encoding

您好我在mysql列中存储了一些文本。我得到的错误是,只要文本中有撇号('),即使撇号显示在数据库中,它也会显示为'â€'。任何想法会出现什么错误?我花了好几天但没有运气

您可以在此处查看错误:http://beta.writiely.com/

这里是如何连接和获取结果

> class(peaks)
[1] "MassPeaks"
attr(,"package")
[1] "MALDIquant"

1 个答案:

答案 0 :(得分:1)

’是utf8 RIGHT SINGLE QUOTATION MARK的Mojibake,通常不会在计算机界使用。 (你可能是从一些Word处理包中得到的。)

htmlentities与此讨论无关。如果网页有’,那么你就会陷入困境。我不认为它基于你所说的’

是的,需要$conn->set_charset("utf8");。这通常是解决此类问题的方法。

但是,您还需要表格/列为CHARACTER SET utf8,是吗?请SHOW CREATE TABLE进行检查。

utf8utf8mb4在此上下文中没有区别。表情符号和一些中文需要后者。

“整理”(例如utf8_general_ci)与此讨论无关。但是,utf8_general_ci仅将 应用于utf8,因此部分评论是明确的。

要点:

  • 您的字节显然是utf8,
  • 执行set_charset
  • 检查表/列,
  • HTML4需要<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">; HTML5可以缩短它:<meta charset="UTF-8">(但显然这不是问题)。