Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

ygor.anjos

Biblioteca freetds

Recommended Posts

Pessoal, boa tarde

Estou montando um relatório utilizando o banco de dados de um sistema e PHP com o DBLIB, porém,todavia,entretanto contudo, mas, quem estruturou o banco criou as tabelas e campos com acentuação.

quando eu vou fazer uma consulta em algum campo que não tenha acentuação a query funciona de boa, mas quanto tem da erro de syntax.

exemplo:

SELECT nome FROM colaboradores; //essa funciona de boa

SELECT descrição FROM colaboradores; //essa da erro de syntax pq tem acentuação

estou usando Linux, PHP 5.6, e a biblioteca freetds para conectar no sql, SQL 2008 express

se alguem souber alguma configuração pra funcionar eu agradeço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente utilizar com colchetes:

SELECT [descrição] FROM table

Se não funcionar, altere os nomes. Para utilizar a Fretds, deve estar utilizando SQL Server, certo? O Management possui funções para alterar os nomes de colunas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

quem estruturou o banco criou as tabelas e campos com acentuação

Desculpa o vocabulário....

Mas que filho duma ... HUSAUHSUHSAUHSA

dica2:

Esqueça o Object Mode do retorno do DB.

Só PDO::FETCH_ASSOC: na veia.

$pessoa = $stmt->fetch(PDO::FETCH_ASSOC)
echo $pessoa['endereço']; // echo $pessoa->endereço; Pode não hehe

No select tmb, o apóstrofo pode ajudar...

SELECT `endereço` FROM pessoa;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desculpa o vocabulário....

Mas que filho duma ... HUSAUHSUHSAUHSA

kkkkkk pois é

select CAST(cp.[dataemissão] AS date) as dataemissao from Service.dbo.contaspagar as cp WHERE notafiscal = 220288

consegui fazer parar da erro de syntax, mas agora fala que a coluna é invalida

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pelo o que eu pesquisei, chaves "[" e "]" é o único jeito de acessar propriedades (colunas, tabelas) com caracteres latinos.

Tente ver como o SGBD está interpretando a string enviada, pois pode haver conversão por ser UTF-8 para windows 1252 ou ISO-8859-1.

Compartilhar este post


Link para o post
Compartilhar em outros sites

A conexão com o SGBD não é UTF-8. FreeTDS é Ansi/Windows 1252.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.