Caractere estranho no início do tipo de conteúdo json

Estou tentando retornar o conteúdo json lido do servidor MySQL. Supõe-se que seja fácil, mas existe um personagem "estranho" que continua aparecendo no início do conteúdo.

Tenho duas páginas para devolver conteúdo:

kcb433.sytes.net/as/test.php?json=true&limit=6&input=d

Este test.php é de um script escrito por Timothy Groves, que converte uma matriz em saída json

http://kcb433.sytes.net/k.php?k=4

este deveria fazer o mesmo

Eu tentei validar aquijsonformatter.curiousconcept.com mas apenas a página 1 é validada, a página 2 diz que não contém dados JSON.

Se acessado diretamente, ambas as páginas não terão problemas. Então, qual é a diferença, por que ambos não são validados?

Então eu encontrei esta páginajsonformat.com e tentei a mesma coisa. A página 1 estava ok e a página 2 não, mas, surpreendentemente, os dados puderam ser lidos. Num relance,

{"a":"b"}

pode parecer bom, mas há um personagem na frente.

De acordo com um editor hexadecimal on-line, este é o valor da string acima (em vez de 9 valores, existem 10):

-- 7B 22 61 22 3A 22 62  22 7D

O código para ecoar json na página 2 é:

header("Content-Type: application/json");
echo "{\"a\":\"b\"}";

questionAnswers(1)

yourAnswerToTheQuestion