curl -u admin:admin -X GET "http: --data-urlencode "title=æøå" -v -G
* Trying ::1...
* Connected to localhost (::1) port 8080 (#0)
* Server auth using Basic with user 'admin'
> GET /confluence/rest/api/content?spaceKey=HAS&title=%C3%A6%C3%B8%C3%A5 HTTP/1.1
> Host: localhost:8080
> Authorization: Basic YWRtaW46YWRtaW4=
> User-Agent: curl/7.43.0
> Accept: */*
>
< HTTP/1.1 200
< X-ASEN: SEN-3390403
< Set-Cookie: JSESSIONID=833525524BD2F548E4BA5F12118B8606;path=/confluence;HttpOnly
< X-Seraph-LoginReason: OK
< X-AUSERNAME: admin
< Cache-Control: no-cache, must-revalidate
< Expires: Thu, 01 Jan 1970 00:00:00 GMT
< X-Content-Type-Options: nosniff
< Content-Type: application/json
< Transfer-Encoding: chunked
< Date: Thu, 08 Jun 2017 22:10:13 GMT
<
* Connection #0 to host localhost left intact
{"results":[{"id":"2147680291","type":"page","status":"current","title":"æøå","extensions":{"position":"none"},"_links":{"webui":"/pages/viewpage.action?pageId=2147680291","edit":"/pages/resumedraft.action?draftId=2147680291&draftShareId=c8462d98-743c-44de-b9ea-d4182650a8d2","tinyui":"/x/IwADg","self":"http:},"_expandable":{"container":"/rest/api/space/HAS","metadata":"","operations":"","children":"/rest/api/content/2147680291/child","history":"/rest/api/content/2147680291/history","ancestors":"","body":"","version":"","descendants":"/rest/api/content/2147680291/descendant","space":"/rest/api/space/HAS"}}],"start":0,"limit":25,"size":1,"_links":{"self":"http://localhost:8080/confluence/rest/api/content?spaceKey=HAS&title=%C3%A6%C3%B8%C3%A5","base":"http://localhost:8080/confluence","context":"/confluence"}}
I don't think this is a bug, running the following curl command results in a legit server exception
curl -u admin:admin -X GET "http://localhost:8080/confluence/rest/api/content?spaceKey=HAS&title=æøå"
which is a hint that there is an issue with the way we make the request, as a matter of fact "æøå" and other similar characters need to be encoded in the URL.
The correct way to achieve this through a curl command is as follow
You have to use the --data-urlencode option, and -G to append it as a query parameter (otherwise it is treated as a POST request body)
Below some curl docs :