2017-08-03 35 views
0

我在我的數據庫中的以下UTF-8的數據:PHP - 顯示UTF-8

ãダンãƒ'ル

日本:

ダンヒル

該字段和數據庫設置爲utf_8_general_ci。 我無法弄清楚如何在我的html中顯示正確的日語字符。這就是我所做的,到目前爲止沒有成功:

<?php 
mb_internal_encoding('UTF-8'); 
mb_http_output('UTF-8'); 
header('Content-Type: text/html; charset=UTF-8'); 
?> 

而且,在我的HTML標題,我設置的字符集爲UTF-8:

<meta charset="UTF-8"> 

數據庫連接mysqli的,set_charset設置爲UTF -8。

請注意,使用此tool,我設法將我的字符串編碼爲正確的japense字符。

任何幫助,將不勝感激,謝謝!

+0

我猜你的數據庫連接沒有設置爲UTF8。你在DB或'ダンヒル'有'''''''''''''? – chris85

+0

我有''''''''''''''''''''''。 – acanana

+0

好吧,所以當你插入的時候它沒有被設置爲UTF8,你還需要重新插入數據。你能否將你正在使用的數據庫連接添加到問題中? – chris85

回答

0

嘗試添加標題:

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

在你的代碼的開頭。

OR,

MySQL的:

嘗試mysql_connect函數這樣的後置charachter編碼:

mysql_query ("set character_set_client='utf8'"); 
mysql_query ("set character_set_results='utf8'"); 

mysql_query ("set collation_connection='utf8_general_ci'"); 

的mysqli:

$mysqli = new mysqli("localhost", "my_user", "my_password", "test"); 

/* check connection */ 
    if (mysqli_connect_errno()) { 
     printf("Connect failed: %s\n", mysqli_connect_error()); 
     exit(); 
    } 

    /* change character set to utf8 */ 
    if (!$mysqli->set_charset("utf8")) { 
     printf("Error loading character set utf8: %s\n", $mysqli->error); 
    } else { 
     printf("Current character set: %s\n", $mysqli->character_set_name()); 
    } 

    $mysqli->close(); 
+0

OP有這個 – chris85

+0

我已經更新了一些代碼..這個.. –

+0

謝謝,但是,在我的數據庫連接中已經有'$ mysqli-> set_charset(「utf8」)''。 – acanana