Eu criei um WebService simples, está funcionando, mas por algum motivo, o retorno dele não está vindo em UTF-8.
Código:
<?phprequire_once"connect.php";$query="SELECT nome FROM rifas_vendidas UNION SELECT nome FROM lanches_vendidos;";$statement=$con->prepare($query);$statement->execute();while($row=$statement->fetch(PDO::FETCH_OBJ)){print($row->nome.",");}?>
Observações:
Eu já tentei colocar header('Content-Type: text/html; charset=utf-8');em todas as partes do código. Já tentei fazer com a tag meta do HTML.
O meu banco de dados e as minhas tabelas estão configurados para utilizar dados UTF-8.
Boa observação. Mas o problema não é esse. Eu também não vou retornar os dados em JSon, já que ambas tabelas só tem uma coluna. Prefiro só pegar uma lista separada por uma virgula mesmo.
J
javaflex
Primeiro, parabéns por ter decidido usar web service, e seu código está bem enxuto sem parafernálias. Mas sobre não usar json, por que ser diferente se existe um formato que todo mundo entende? json_encode trabalha com UTF-8. Ao menos estará num caminho que a maioria passa, senão fica naquele ciclo que você passou em querer se conectar remotamente ao MySql.
T
Thallysson
Simplesmente porque eu acho desnecessário. E adicionaria mais umas três linhas na minha classe de comunicação com os webservice, sendo que o projeto já está pronto. Eu teria que modificar tudo. E é realmente desnecessário eu ter que usar Gson por exemplo, já que eu só quero pegar uma listinha. Mas se tu diz que json_encode já faz em UTF-8, eu posso adaptar o código. Mas me diz ae, não tem outra função como essa que trás os dados da forma que eu quero?
J
Solucao aceita
javaflex1 like
Tenta setar o charset na sua string de conexão:
(a forma de fazer depende da versão do PHP como falaram lá)