Erro "UTF-8" + Erro no SQL

(Elcio) #1

Srs
Uso charset 8858-1 (Western) e estou com o seguinte erro após a atualização:

2 = simplexml_load_string() [function.simplexml-load-string]: Entity: line 57: parser error : Input is not proper UTF-8, indicate encoding ! Bytes: 0xA9 0x3C 0x2F 0x46
C:\Arquivos de programas\netmake\v5\wwwroot\scriptcase\devel\class\xmlparser

Outro erro acontece nas[font=Verdana] querys SQL que usei AS (alias).[/font] Considera inválida.

É uma pena que somos usados como cobaias para achar os erros das novas versões. Todas elas vem com problemas graves.

(system) #2

Boa tarde Elcio.

Após atualizar para a versão 5.2.0002 é necessário rodar um script em:

http://localhost/scriptcase5/devel/lib/php/fixs/xmlCharset/xmlCharset.php

O que está em negrito vai depender da porta que você instalou e o nome da pasta do scriptcase.

(Elcio) #3

Ao utilizar o script o erro com UTF-8 desapareceu mesmo. Não achei nenhuma indicação para usar esse script na atualização.

Quanto ao erro com o SQL, o mesmo ainda está presente na execução. Observe a mensagem enviada de uma consulta:
[font=Verdana]
ERRO
Erro ao acessar o banco de dados
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘as pedido, as atual, mp_var.csmmed as csmmed, as csm1, as media3m, as media6’ at line 1
SelectLimit(SELECT mp_var.descricao as mp_var_descricao, mp_var.preco as mp_var_preco, mp_var.ref_fornec as mp_var_ref_fornec, mp_var.unidade as mp_var_unidade, mp_var.qdade as mp_var_qdade, as pedido, as atual, mp_var.csmmed as csmmed, as csm1, as media3m, as media6m, round(mp_var.qdade / mp_var.csmmed * 30) as dias, as total, mp_var.observacao as mp_var_observacao, mp_var.codigo as codigo from mp_var INNER JOIN fornec ON mp_var.fornecedor = fornec.cgc_cpf where mp_var.situacao=‘1’ order by mp_var.descricao asc, 17, 0)[/font]

[color=black]A query orininal é a seguinte:[/color]

SELECT
mp_var.codigo AS codigo,
mp_var.variacao,
mp_var.descricao,
mp_var.preco,
mp_var.unidade,
mp_var.qdade,
mp_var.reserva,
mp_var.etqmax,
mp_var.etqmin,
mp_var.etqmed,
mp_var.csmmed AS csmmed,
mp_var.fornecedor,
mp_var.observacao,
fornec.razao,
mp_var.ref_fornec,
round(mp_var.qdade / mp_var.csmmed * 30) AS dias
FROM
mp_var INNER JOIN fornec ON mp_var.fornecedor = fornec.cgc_cpf
WHERE
mp_var.situacao=‘1’
ORDER BY
mp_var.descricao

O SC está alterando a query e adionando o alias em todos os campos, mesmo nos campos que já possuiam alias na query orinigal.