2013-08-18 158 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