php - 如何在 php 中打印 ñ

标签 php database string character-encoding special-characters

在数据库中,有一个名字包含 ñ (ex Niño)

当我从数据库中检索它然后回显它时,输出将是 Ni�o。

我该如何解决这个问题?

最佳答案

您必须确保您的数据和您输出的文档(通过 PHP)使用相同的编码。

例如,如果您在数据库中的数据是 UTF8(且未损坏)。您应该确保在文档的标题中设置 UTF-8。像这样:

header('Content-Type: text/html; charset=utf-8');

(请务必在输出任何内容之前设置标题。)

有时您必须告诉您的数据库您使用特定的字符集:

$db->query("SET NAMES 'utf8'");
$db->query("SET CHARACTER SET utf8");

This article描述了如何确保 PHP 和 DB 从头到尾讲的是同一种“语言”。它需要您使用 mb* 方法而不是常规方法。

我会建议为这些事情使用一个库 - 比如 Flourishlib为您处理所有杂乱的东西 - 数据库、 header 等。

最后看看this general UTF 8 article对问题的一些见解。

关于php - 如何在 php 中打印 ñ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4222525/

相关文章:

php - 如何在 Web 应用程序中存储选项列表

Ruby 字符串 #{} 不起作用

c# - 如何在 C# 中使用 VBFixedStringAttribute?

javascript - 通过单击从数据库中删除特定条目

php - 表单提交后 $_post 仍为空

MySQL:使用 INNER JOIN 的慢 GROUP BY

string - 使用 Lua 从 URL 获取文件名

PHP随机概率

php - 如何根据 PHP 中输​​入的天数(例如 230、20 或 360 或任何天数)获取过去的日期(例如 2013-06-02)?

java - 大容量可查询和可遍历的数据结构