php - 特殊字符无法正确显示

标签 php mysql

我特意谈论瑞典语中的 å、ä 和 ö。当在段落中显示时,我使用一个函数将字母替换为其 HTML 实体。

效果很好,但现在我想要一个功能,让页面管理员可以更改页面标题。我希望将当前标题预加载到输入框中。当每个 ö 都被翻译成它的 html 实体时,阅读起来就不那么容易了。

从其他答案中,我检查了文件在 Notepad++ 中是否保存为没有 BOM 的 UTF-8。

数据库连接写为:

$conn = new mysqli($DBServer, $DBUser, $DBPass, $DBName); if ($conn->connect_error) { trigger_error('Database connection failed: '  . $conn->connect_error, E_USER_ERROR); }
$conn->set_charset("utf-8");

在 html 文档的标题中,我有:

<meta http-equiv="content-type" content="text/html" charset="utf-8" />

数据库被创建为“latin1_swedish_ci”,并且在 phpmyadmin 中显示正常。数据库调用如下所示。当没有 å、ä 和 ö 时,该网站将正常工作。但是当输入框为空时。

包含“db.inc.php”;

$sql = "SELECT site_admin_title FROM site_admin WHERE site_admin_id = ?"; $id = 1; 
$loadData = $conn->prepare($sql); if($loadData === false) { trigger_error('Wrong SQL: ' . $sql . ' Error: ' . $conn->error, E_USER_ERROR); }
$loadData->bind_param('i',$id); 
$loadData->execute(); 
$loadData->bind_result($site_admin_title); 
$loadData->fetch(); 
$output_string = $ljusimorker_site_admin_title;
$loadData->close(); 
$conn->close();
echo json_encode($output_string);

有什么想法吗?

最佳答案

您是否尝试过以这种方式使用 set_charset() 函数(请注意省略 - 字符)

$conn->set_charset("utf8");

此外,您可能还想将数据库的字符集更改为 UTF-8。

关于php - 特殊字符无法正确显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18302813/

相关文章:

php - 在 paypal 通话期间未注意到 NOTIFYURL?

javascript - 使用 Google Analytics 跟踪 Wordpress 后端生成的 PDF

php - OutOfRangeException 与 OutOfBoundsException

mysql - SQL 语法错误 : Multiple Join Error

php - while 循环后函数中的静态变量

php - Mysql Utf-8 和 PHP

php - 这个函数我写错了吗?有人可以告诉我我在哪里犯了错误吗?

mysql - 哪些 DBMS 允许对 select 子句中不存在的属性进行排序?

java - 如何在 MySQL 和 Java 中转义引号 ""字符

mysql - 如何按mysql分组以填充空行