[ https://issues.apache.org/jira/browse/SOLR-1959?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12879912#action_12879912 ]
Lance Norskog commented on SOLR-1959: ------------------------------------- Using POST as a workaround means that query strings will not show in an Apache server log. > SolrJ GET operation does not send correct encoding > -------------------------------------------------- > > Key: SOLR-1959 > URL: https://issues.apache.org/jira/browse/SOLR-1959 > Project: Solr > Issue Type: Bug > Components: clients - java > Affects Versions: 1.4.1, Next > Reporter: Lance Norskog > > The SolrJ query operation fails to set the character encoding when doing a > GET. It works when doing a POST. > The problem is that URLs are urlencoded with UTF-8 but the Content-type: > header is not set. I tested it with "Content-Type:text/plain;charset=utf-8" > and that worked. The Content-type header encoding defaults to ISO 8859-1. > The result is that SolrJ queries fail for any search with a character above > 127. The work around is to use a POST query instead of a GET. I have not > searched for other places. So, change: > {code} > QueryResponse qr = CommonsHttpSolrServer.query(query); > {code} > to: > {code} > QueryResponse qr = CommonsHttpSolrServer.query(query, > SolrRequest.METHOD.POST); > {code} > One quirk of this behavior is that url-bashing a query string with an ISO > 8859-1 character (like an umlaut) works in a browser, but fails in a SolrJ > request.. It also searches correctly from the admin/index.jsp and > admin/form.jsp pages, because they set the content-type in the FORM > declaration. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org