Dataset com formatação de caracteres diferente do enviado

Estou gravando, via formulário, dados que vão também para um dataset.

A recuperar dados do dataset, os caracteres latinos estão vindo em codificação diferente.

Por exemplo, se gravo via REST um formulário com a palavra 'será', a resposta de recuperação chega como ' será '.

Como devo proceder para gravar e ler corretamente?

Meu código de gravação é:


var numeroPastaMae=12345;

var nomeAval="Fulano";

var objCamposForm=[];
objCamposForm.push({"name":"namTxt","value":nomeAval});

var descricaoFormulario="teste";

var _jSonRest = {
"documentDescription" : descricaoFormulario,
"parentDocumentId" : numeroPastaMae,
"version" : 1000,
"inheritSecurity" : false,
"attachments" : [],
"formData" : objCamposForm
}// jsonRest

jQuery.ajax({
method : 'POST',
data : JSON.stringify(_jSonRest),
url : '/api/public/2.0/cards/create',
contentType : 'application/json; charset=UTF-8',
dataType : 'json',
success : function(data, txt, objeto) {
console.log("Texto retornado: "+txt);
},// success
error : function(x, e, e2) {
alert('Não foi possível salvar'+x.status + ' ' + e + ' ' + e2);
}// error
});// ajax

Meu código de leitura é:


[... criação dos constraints omitido por não ser relevante  ...]

arrayConstraints = new Array(c1,c2,c3);
let nomeDataset = 'ds_xpto';
let arrayCampos = null;
let arrayOrdenacao = null;
let resultadoPTF =DatasetFactory.getDataset(nomeDataset, arrayCampos,arrayConstraints,arrayOrdenacao);

for (i=0;i < resultadoPTF.values.length;i++){

    let caso = resultadoPTF.values[i].namTxt;

}//for

Mausim, verifica se sua página possui configuração de encode, acredito que o padrão do fluig seja UTF-8.

Continuação:

Mausim, continuo com o encode como responsável. Tenta remover ele da propriedade de contentType, ou alterar na página que efetua a leitura. Quando você faz a recuperação dos dados do dataset pelo eclipse/visual tem o mesmo problema?

Caro @Alef, eu criei a página através do Painel de Controle, WCM. Mas lá não há codificação aparente.

Nesse caso, um chamado pode ajudar, se compartilhar seu código também pode ajudar a entender melhor a manipulação e o que pode ser feito, Mausim.

Minha gravação e leitura não têm complicações, @Alef. Vou editar minha pergunta e pôr o código que faço na gravação e na leitura. Obrigado

Fala, Mausim, acabei de editar a resposta. Dá uma olhada.

Caro @Alef, dentro do Eclipse, na visualização do Dataset, a acentuação está correta. Somente na exibição da página é que acontece essa transformação.

Mausim, inspeciona a página e procura pela tag META, ela pode indicar se está havendo o uso de um encode diferente. Volto a bater na questão do encode, não é possível identificar qual recurso está utilizando, se é uma widget ou alguma outra coisa, precisa mostrar o momento que efetua a atribuição do valor ao componente html para entendermos o que pode tá acontecendo.

Caro @Alef, obrigado pela paciência. Confesso que não sei verificar a tag meta, uma vez que, tendo criado a página via Painel de Controle, WCM, Minhas Páginas, não sei como verificar isto.

Mausim .

Não sei se isto vai resolver o problema apontando por mim, mas, de qualquer modo, alterei o Eclipse Luna para o que diz a página

https://tdn.totvs.com/pages/releaseview.action?pageId=172297237

Depois volto aqui para dizer se deu certo, ou não.

Não deu certo, mas resolvi de outro jeito.

Meu código estava assim:


 jQuery.ajax({
  method : 'POST',
  data : JSON.stringify(_jSonRest),
  url : '/api/public/ecm/document/remove',
  contentType : 'application/json',
  dataType : 'json',
  success : function(data, txt, objeto) {
    console.log("Texto retornado: "+txt);
  },// success
  error : function(x, e, e2) {
    alert('Erro: '+x.status + ' ' + e + ' ' + e2);
}// error
});// ajax

Acrescentei contentType : 'application/json; charset=ISO-8859-1',


    jQuery.ajax({
        method : 'POST',
        data : JSON.stringify(_jSonRest),
        url : '/api/public/ecm/document/remove',
        contentType : 'application/json; charset=ISO-8859-1',
        dataType : 'json',
        success : function(data, txt, objeto) {
            console.log("Texto retornado: "+txt);
        },// success
        error : function(x, e, e2) {
            alert('Erro: '+x.status + ' ' + e + ' ' + e2);
        }// error
    });// ajax