2013-09-20 5 views
1

У меня есть некоторые из полей в базе данных (MS SQL Server), которые иногда имеют японские данные и символы. Когда я получаю их с помощью php, данные превращаются в ???? Например, я получил полевую модель, в которой хранятся «BMW и JAPANESE CHARACTER», и когда дело доходит до страницы, она превращается в «BMW и ????????»,Восстановить японские данные с MS SQL Server с помощью PHP

Ниже мой код;

 include ('org_dataDSN.php'); 
    //Setting up database virtual connection 
    echo "Connecting Database <br>"; 
    header('Content-Type: text/html; charset=utf-8'); 
    echo "Successfully connected...."; 

    $subQuery="select model, make from infChnge_CS2002"; 
    $subRes=odbc_exec($connect, $subQuery); 

    $ix=odbc_num_rows($subRes); 
    echo "Success.." . $ix; 
    while(odbc_fetch_row($subRes)) 
    { 
$cstate = odbc_result($subRes, 1); 
$sname = odbc_result($subRes, 2); 

echo $cstate . "<br>"; 
echo $sname . ""; 
    } 

odbc_close($connect); 

     ?> 

ответ

-1

Я использовал это для подключения mysql, чтобы исправить ????? в персидском языке

$connect=mysql_connect('localhost','root',''); 
    mysql_query("SET NAMES 'utf8'", $connect); 

запрос это «SET NAMES„utf8“» сразу после создания соединения с сервером

+0

Boss Я думаю, что вы пропустили, я использую MS SQL Server, а не mySql –

0

Первый отбрасывать данные в запросе MSSQL с помощью функции произнесения

SELECT CAST(model AS TEXT) as model, CAST(make AS TEXT) as make, FROM r_table; 

В PHP, конвертировать литые данные в utf-8:

$model = iconv('CP1255', 'UTF-8', $model); 
$make = iconv('CP1255', 'UTF-8', $make); 
Смежные вопросы