Q:

PHP que retorna null campos de tabela que não estão vazios nem nulos no MySQL

Tenho uma tabela "formas_pagamento" e fiz uma API pra pegar todas estas formas de pagamento, mas mesmo o banco de dados estando correto, ele informa que o campo "nome" é null no retorno, vejam:
[{"nome":"Dinheiro"},{"nome":"Cheque"},{"nome":null},{"nome":null}]

E não está "null" e só aparecem estes dois.
Segue meu PHP:
PHP:
    <?php

header('Content-type: application/json');
header('Access-Control-Allow-Origin: *');

include 'database.php';

//$cod_fornecedor=$_GET['cod_fornecedor'];

$query="SELECT
   nome
FROM
   formas_pagamento
ORDER BY
   cod_forma_pagamento ASC";

$result=$con->query($query);

$row_cnt = mysqli_num_rows($result);
if ($result->num_rows > 0) 
{
    $count=0;
    echo "[";
    while($row = $result->fetch_assoc()) 
    {
            $count++;
            echo json_encode($row);

            if($count!=$row_cnt)
            {
                    echo ",";
            }

    }
    echo "]";
}
else
{
echo "error";
}

?>

O que há de errado? 

A:

Há funções próprias que já fazem a associação dos resultados, não precisa percorrer manualmente e reinventar a roda, correndo o risco de criar erros. Utilize a função mysqli_fetch_all:
$query = "SELECT nome FROM formas_pagamento ORDER BY cod_forma_pagamento ASC";

$result = $con->query($query);

$resultArray = $result->fetch_all(MYSQLI_ASSOC);

echo json_encode($resultArray);

A:

Resolvi utilizando json_encode(utf8ize($row));
Segue o PHP novo completo:
   $rest_api = array();
function utf8ize($d) {
    if (is_array($d)) {
        foreach ($d as $k => $v) {
            $d[$k] = utf8ize($v);
        }
    } else if (is_string ($d)) {
        return utf8_encode($d);
    }
    return $d;
}

/** connect to mysql **/
$mysql = new mysqli($config["host"], $config["user"], $config["pass"], $config["dbase"]);
if (mysqli_connect_errno()){
    die(mysqli_connect_error());
}

$query="SELECT nome FROM formas_pagamento ORDER BY cod_forma_pagamento ASC";

$result = $mysql->query($query);
//$result=$con->query($query);

if ($result->num_rows > 0) 
{
    $count=0;
    echo "[";
    while($row = $result->fetch_assoc()) 
    {
            $count++;

            echo json_encode(utf8ize($row));

            if($count!=$row_cnt)
            {
                    echo ",";
            }

    }
    echo "]";
}
else
{
echo "error";
}

?>

