Sage 50 ODBC PHP проблемы с кодировкой

Я установил на своем компьютере драйвер ODBC для Sage Line 50 и использую php-сервер XAMPP на том же компьютере для запроса базы данных sage с помощью PHP.

Вот некоторый базовый код для опроса таблицы Sales Ledger:

<?php
error_reporting(E_ERROR);

//attempt to connect to Sage Line 50 via the system DSN which is on the Sage Server
echo("Trying to connect to Sage<hr>");

if(isset($_REQUEST['account_ref']) && $_REQUEST['account_ref'] != "") {
$account_ref = $_REQUEST['account_ref'];

$odbc['dsn'] = "SAGE50";
$odbc['user'] = "manager";
$odbc['pass'] = "brand";

$conn = odbc_connect($odbc['dsn'], $odbc['user'], $odbc['pass']);
if (!$conn) {
die("Error connecting to the ODBC database: " . odbc_errormsg());
} else {
$obj = array();
echo("Connected<br>");
$query = odbc_exec($conn, "SELECT * FROM SALES_LEDGER where ACCOUNT_REF = '{$account_ref}'");

while ($row = odbc_fetch_array($query)) {
print_r($row);
}
}
} else {
return false;
}

Теперь запрос фактически работает и извлекает данные. Однако все это выглядит по большей части мусором и вместо значений содержит странные символы.

Например:

Array (
[�������] => [] =>
[0] => 0
[Defaul] => Defaul
[Open] => Open
[T1] => T1
[4000] => 4000
[1] => 1
[GB] => GB
[0.00] => 0.00
[30] => 30
[2009-10-22] => 2009-10-22
[Good] => Good
[201x��201] => 201x��201
[201���0�] => 201���0�
)

Может кто-нибудь предложить какие-либо предложения о том, почему это может происходить и, возможно, есть ли лучший способ сделать это.

Любые мысли или опыт будут приветствоваться.

С уважением

Джеймс

0

Решение

Я столкнулся с точно такой же проблемой, как это не так давно. Я не могу сказать вам, чем это вызвано, но я могу вам сказать, что замена Xampp для Wamp полностью разрешила его.

0

Другие решения

использовать array_map (‘utf8_encode’, $ row);

0

По вопросам рекламы [email protected]