Scriptcase v9.6.12

  • Adicionada a opção conversão do charset para UTF-8 pelo banco de dados nas propriedades do projeto.
    Esta opção converterá para UTF-8 os caracteres enviados pelo servidor, de acordo com o charset do banco. A partir desta atualização, novos projetos serão criados com essa opção habilitada, podendo desmarcar na interface do menu Projeto -> Propriedades.

Não entendi ainda muito bem essa implementação.

Isso significa que se tivermos um banco não UTF8, poderemos ter todas as páginas em utf8 que o SC se encarregará de converter os dados para UTF8? Isso inclui as macros sc_select e sc_lookup?

Se for isso, gostei muito dessa implementação, isso resolveria em sistemas com banco de dados legados e/ou compartilhados com outras linguagens.

E com a opção de habilitar e desabilitar no projeto, pois para quem não tem esse problema não precisa habilitar essa opção.

Implementação inteligente e necessária.

1 Curtida

@InfinitusWeb me fiz exatamente esta pergunta, pela maneira descrita significa se um banco estava com latim e alterarmos para utf8, automaticamente ao também habilitarmos utf8 no projeto, automaticamente ele se encarregará do restante. Se for isto terei que parabenizar profundamente a equipe de desenvolvimento e quem fez esta implementação.
Mas não está claro, é necessário algo mais explicativo.
Já enviei um e-mail questionando, aguardando retorno também como registro.

Olá, @InfinitusWeb , @joeltonsilva

Com essa nova opção que habilitamos, a conversão de caracteres ,que era feito através das rotinas do scriptcase, ficam agora sendo feitas diretamente pelo banco de dados.

Caso o charset do projeto esteja diferente do charset do banco de dados, no momento da transação, com a flag habilitada, o banco de dados irá converter para o charset configurado no banco.

entendi, direto nas instruções SQL que o SC gera nas aplicações efetua a conversão caso sejam diferentes.

Então no sc_lookup e no sc_select as macros não aplicam a conversão, teremos que realizar direto no sql criado manualmente ou através do php no result set retornados pelas macros.

A flag é para a conexão, todo mundo que usar a conexão vai estar na mesma regra.

Permaneço no aguardo do retorno…
image

Imaginem o seguinte cenário, CHARSET do projeto UTF-8 e sua base de dados LATIN. Os dados serão enviados com caracteres UTF-8, porém, a sua base só irá interpretar caracteres LATIN. Com a flag ativada, os caracteres enviados para o banco de dados serão interpretados e convertidos para a codificação do banco de dados.
Tente fazer esse exemplo, do cenário citado acima, com a flag desativada e depois ative e insira um registro.

1 Curtida