mmmrrr

mmmrrr

Currently I have a problem with an answer I’m getting from my Solr server.

When I request it directly from JavaScript or with Postman/Insomnia I get an UTF-8 document that displays my umlauts correctly. E. g. one value contains the german word Tür which will be rendered as is.

When I make the request from Elixir I’ll get a charlist as the documents body. This is then parsed as JSON and theoretically working as expected, except that now the Tür gets rendered as Tür.

What am I doing wrong here? I already tried converting it to string, which only yields a bitstring.

Showing Posts 1 to 4

joaoevangelista

joaoevangelista

Could you give us a minimal charlist of the document body? Which JSON library are you using?
And how rendering works?

Are you supplying the result Tür to be rendered in an HTML page and it is getting broken?

If Yes You can check the encoding used in the html document that will instruct the browser to use the correct one: https://www.w3schools.com/tags/att_meta_charset.asp
mmmrrr

mmmrrr OP

I’ll try to produce a minimal example.

Which JSON library are you using?

Jason

And how rendering works?

The answer is rendered as JSON via Absinthe. I have a struct where I have annotated which fields should be rendered by Jason which I then feed to Absinthe.

But I think the real problem occurs before actually rendering it since the string is already sent as a charlist in the response of the Hui Solr library.


Now that I wrote it, I should probably try to send the request via HTTPoison directly or try another library like mint in order to check if it’s a transport problem…

joaoevangelista

joaoevangelista

I have checked the Hui library and it defaults to httpc as http client, but since you mentioned HTTPoison I assume you have configured it as the http client, otherwise since httpc is erlang it could be causing the encoding problem, and the behaviour of returning a charlist as the response.

From their documentation you can configure like:

config :hui, :default
      http_client: Hui.Http.Httpoison
mmmrrr

mmmrrr OP

The problem is indeed httpc. Httpoison had no effect when I first tried it, because the module was missing and it silently failed.

That’s why I assumed a deeper issue… Thanks for the pointer! :sweat_smile:

— All posts loaded —

Where Next? Top

Trending in Questions Top

Blokh
Hey guys, I’ve got a huge CSV ( around 10 GB ) that needs to be processed hourly Do you guys have any suggestions what is the best prac...
New
kszambelanczyk
Hello! Could someone please give me a help/sample code, how to delete a file from s3 using waffle/waffle_ecto from Phoenix app. I creat...
New
Onor.io
I have what I’ve heard referred to as a “lookup table” in my database. This is a way of assigning codes to common values. One common lo...
New
Trolleger
What approach to take when sending live updates to “random” users Hi! I have a question, I have a little chat app, and when I create a DM...
New
matt-savvy
Anyone here using Honeybadger? My Honeybadger account is being overwhelmed with noise from some bots. Seeing a lot of Bandit.HTTPError...
New
RemyXRenard
I’m seeing that a list inside a Kino.DataTable will be interpreted as a charlist, even if the Kino.configure() is set to charlists: :as_l...
New
samoloth
Hi, I’ve just set up an application with ash_authentication. There is only magic link strategy for now, so there is no confirmation add o...
New

Other Trending Topics Top

mudasobwa
I am happy to introduce the very α version of the new programming language compiled to BEAM. Welcome Cure. It has literally three kille...
New
garrison
Hobbes is a low-level distributed database for the Elixir programming language. Hobbes provides a simple, safe, and scalable storage lay...
New
mcass19
ExRatatui lets you cook up rich terminal UIs in Elixir, powered by Rust’s ratatui via Rustler NIFs. Build interactive terminal applicatio...
New
Damirados
Hello everyone. After busy few months I am happy to announce v0.1.0 of Emerge & Solve. They are GUI (Emerge) and State management (S...
New
netoum
Corex is an accessible, unstyled UI component library for Phoenix that integrates Zag.js state machines using Vanilla JavaScript and Live...
New
wintermeyer
There are three potential reasons for members of this forum to have a look at https://vutuv.de You are tired or annoyed of LinkedIn. Yo...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews