2013-08-18 156 views
0

我特别谈论瑞典语中的å,ä和ö。当在段落中显示时,我使用函数将字母替换为其HTML实体。特殊字符无法正确显示

这工作正常,但现在我想有一个让页面管理员更改页面标题的功能。我想将当前标题预加载到输入框中。当每个ö翻译成它的html实体时,阅读并不那么容易。

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

数据库连接被写为:

$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它显示正常的。数据库调用看起来像这样。在没有å,ä和ö的情况下,该网站按照原样运行。但是当输入框为空时。

include'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); 

任何想法?

+0

通过该链接,没有任何帮助。这个问题中包含的链接也是。 :( – Nicklas

+0

我改变了数据库表为utf8_swedish_ci,但这并没有帮助。以前是latin1_swedish_ci – Nicklas

回答

0

你有没有使用set_charset()函数试图通过这种方式来代替(注意-字符的遗漏)

$conn->set_charset("utf8"); 

此外,你可能想的字符集数据库更改为UTF-8,以及。

+0

我有$ conn-> set_charset(“utf-8”);直接在数据库连接之后数据库现在有utf8_swedish_ci – Nicklas

+0

Ow读你的答案错了,对不起。;) – Nicklas

+0

当我确实忽略了 - 他们的页面根本没有加载。 ( – Nicklas