-1

实际上,当我从本地主机上的数据库中获取数据时,我遇到了这个问题。数据库包含带有特殊字符的行。

比如——“你做得很好”。

但是当我使用echo $row['lines'];它来获取数据时,会出现“你做得很好”。

任何人都请帮助我如何克服这个问题。

4

4 回答 4

2
于 2013-07-16T08:40:00.350 回答
1

检查您的数据库编码,检查您在 php 中的连接编码,检查您的 php-page 编码。前两个应该匹配。如果页面编码与 db 编码不匹配,则应考虑使用iconvmb_convert_encoding函数。

如果您使用 html,也应该有正确的元标记,例如

<meta charset='utf-8'>

或者

<meta http-equiv='Content-Type' content='text/html; charset=utf-8'>

另外,如果您从 php 发送正确的标头,那就太好了:

header('Content-type:text/html;charset=utf-8');
于 2013-07-16T08:39:04.000 回答
0

看起来像一个编码问题。尝试使用...

$row["lines"] = utf8_encode($row["lines"]);

...并确保您的网站中启用了 utf-8 编码。

于 2013-07-16T08:38:49.720 回答
0

我不建议在将其输入数据库之前尝试使用 HTML 编码之类的东西。这样做的一个问题是它使访问数据变得更加困难,例如按字母顺序检索结果。

我建议将所有内容都切换到 UTF-8。这意味着:

  • 您所有的数据库表
  • 您使用的任何编辑器
  • 显示数据的页面中的元标记
于 2013-07-16T08:44:17.683 回答