【问题标题】:CKEditor cannot show my country's special characters Æ Ø ÅCKEditor 无法显示我国的特殊字符 Æ Ø Å
【发布时间】:2026-02-04 06:15:02
【问题描述】:

我在撰写文章时使用 CKEditor 以获得更好的体验。问题是,它使用的是某种代码,而不是真正的字母 æ、ø 和 å。

当从 CKEditor 向我的数据库发送数据时,这就是它在我的 mysql 数据库中的转换方式:

æ = æ

ø = ø

å = å

我该如何改变呢?元设置为 utf_8。

以下是代码的相关部分:

<script>
            CKEDITOR.replace( 'article', {
    language: 'da'
});
</script>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script src="https://cdn.ckeditor.com/4.7.2/standard/ckeditor.js"></script>
</head>

<body>
<textarea name="article" style="height:600px; width:90%;"></textarea>
</body>

希望有人能帮帮我!

编辑 向数据库添加数据:

<?php
$servername = "";
$username = "";
$password = "";
$dbname = "";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 


$name = addslashes($_POST[writersName]);
$uid = addslashes($_POST[writersUid]);
$article = addslashes($_POST[article]);
$category = addslashes($_POST[category]);



$sql = "INSERT INTO artikler (name, uid, article, category)
VALUES ('".$name."', '".$uid."', '".$article."', '".$category."')";

if ($conn->query($sql) === TRUE) {
    header("Location: addArticle.php?name=1");
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}

$conn->close();
?>

【问题讨论】:

  • 由于字符在后端发生变化,最好显示后端代码而不是前端。
  • 那么我的 phpmyadmin 数据库中的表设置为 utf8_danish_ci 应该是正确的?
  • 您的表格可能具有正确的字符集/整理,但这并不意味着您后端中的插入/编码是正确的。
  • @Dekel 绝对不是这方面的专家。我怎么看这个?
  • 如前所述 - 添加后端代码(php/python/ruby/.net/无论您使用什么语言作为后端)

标签: javascript html mysql ckeditor


【解决方案1】:

现在我们知道问题出在 CKEditor 本身,你可以试试这个配置:

entities = false;

在 CKEditor 内部:

<script>
    CKEDITOR.replace( 'article', {
        language: 'da',
        entities: false
    });
</script>

【讨论】:

  • 成功了!非常感谢!!