Umlaut symbols rendered as �



  • @jan_blaha yes, in HTML output but the browser is not involved. We're making an API request to the JSReport instance to render the template and it returns HTML with � instead of correct symbols.



  • If run from the studio, does the browser display it correctly? If yes, the problem is on your client's side on how you read the response.



  • @jan_blaha can you please give me a hint on how to log render results on the JSReport side? I'll compare the results on both sides. Thanks!





  • @jan_blaha I passed "reports": { "save": true } to API and checked result on JSReport side.
    Here is what I see in jsreport_blob table with the query:

    select convert_from(content, 'utf-8')::text as html from jsreport_blob where blobName='reports/data/dev/welcome_email/body.html/76f3836c-b5a9-4534-a446-dedb30221aea.html';
    

    0_1664365270261_blob.png



  • Can you go to jsreport studio, hit in the settings the reports, and then open the report?



  • @jan_blaha sure, here is what I got
    0_1664367914611_result.png



  • Interesting, do you get the same without using postgres?



  • @jan_blaha I didn't try. We have a few instances of JSReport and we had issues with template synchronization through the file system across all instances and Postgres solved our problems



  • Yes, a full database is typically better for multi-instance in prod.

    I've tried to replicate the problem closely to what you write, but without success.

    I've done the following, please try the same or try to isolate the problem.

    Dockerfile

    FROM jsreport/jsreport:3.5.0
    
    RUN npm install @jsreport/jsreport-postgres-store
    

    Running it

    docker run -p 5488:5488 -e store_provider=postgres -e blobStorage_provider=postgres -e extensions_postgresStore_host=host.docker.internal -e extensions_postgresStore_port=5432 -e extensions_postgresStore_database=jsreport -e extensions_postgresStore_user=postgres -e extensions_postgresStore_password=password myjsreport
    

    Export from playground your shared workspace
    Import fully into running app

    From the postman/advanced rest client, I send the following request

    {
      "template": { "name": "body.html" },
      "options": { 
        "reports": {
          "save": true    
        }
      }  
    }
    

    Then I open back studio, check stored reports, and the encoding is correct.


Log in to reply
 

Looks like your connection to jsreport forum was lost, please wait while we try to reconnect.