2017-03-18 9 views
0

私はちょうどデータベースからデータを取得するためにいくつかのPHPコードを書く、ニックネームからのデータは、シンボルといくつかのユニークな文字を持っています。私はそれをブラウザに表示したいとき、データの一部が表示されますか?テキストではなく実際のテキストです。私はすでにいくつかの文字セットを追加しますが、その外観は何も動作しません。あなたの情報のために私はこのコードを私のWordpressで表示するために使用します。HTML/PHP Sysmbol/Charsatのみ表示???実際のものの代わりに

<html> 
<head> 
<meta http-equiv="content-type" content="text/html; charset=utf-8" /> 
<?php header('Content-type: text/html; charset=ISO-8859-1'); ?> 
</head> 
<body> 
<?php 

$dbhost = 'DRIVER={SQL Server};./SQLEXPRESS;DATABASE=DB_Tank'; 
$dbuser = "sa"; 
$dbpass = "123"; 

$connection = odbc_connect($dbhost, $dbuser, $dbpass); 

$query = "SELECT TOP 10 NickName,FightPower FROM Sys_Users_Detail WHERE IsExist = 'True' ORDER by FightPower DESC"; 

echo '<table align="center" ><tr>'; 

$rank = odbc_exec($connection, $query); 

$i = 1; 
while($db = odbc_fetch_array($rank)) 
{ 
    echo '<td width="50" align="left">'.$i.'</td>'; 
    echo '<td width="300" align="left">'.$db['NickName'].'</td>'; 
    echo '<td width="150" align="left">'.$db['FightPower'].'</td>'; 
    echo '</tr>'; 
    $i++; 
} 
echo '</table>'; 
?> 

出力の一部を参照してください:データベースから ??? Output

ニックネーム:UTF8形式の保存 Real One from Database

+0

まず 'ヘッダ()' HTMLを含む任意の出力、前に送信しなければならない、空白、......をお試しください次に、テーブルが使用するエンコーディングは何ですか? ISO-8859-1は、ユニコードに比べてかなり制限されています。 – frz3993

答えて

0

PHPコードを。

ヘッダーを削除します。

<?php header('Content-type: text/html; charset=ISO-8859-1'); ?> 

右:

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

私はすでにこれをしていますが、結果は同じです。 –

+0

これを試してくださいini_set( 'mssql.charset'、 'UTF-8'); – Scaffold

+0

結果は同じです。 –

0

この

while($db = odbc_fetch_array($rank)) 
{ 
    $string = $db['NickName']; 
    if (mb_detect_encoding($string, 'utf-8', true) === false){ 
     $string = mb_convert_encoding($string, 'utf-8', 'iso-8859-1'); 
    } 
    echo '<td width="50" align="left">'.$i.'</td>'; 
    echo '<td width="300" align="left">'.$string.'</td>'; 
    echo '<td width="150" align="left">'.$db['FightPower'].'</td>'; 
    echo '</tr>'; 
    $i++; 
} 
関連する問題