Bug 419670

Summary: Support difference character set for query and results fro z39.50
Product: [Applications] tellico Reporter: Robby Stephenson <robby>
Component: generalAssignee: Robby Stephenson <robby>
Severity: wishlist    
Priority: NOR    
Version: 3.2.3   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed In: 3.3

Description Robby Stephenson 2020-04-05 11:57:55 UTC
From mailing list:

Some Z39.50 servers available around here seem to use different
encodings for search queries and marc entries.

For example, catalogo.bnportugal.pt which accepts latin1 for search
queries but uses ISO-5426 for database entries. In yaz-client, I am able
to interact with this server by explicitly setting these character

    marccharset iso5426
    querycharset latin1
    open catalogo.bnportugal.pt

But in Tellico there is only one "character set" option, so either
non-ASCII searches don't work or non-ASCII content in the results is
garbled. Looking at the code (If I am looking in the right place -
z3950connection.cpp?), it seems it's not possible to set separate
encodings for incoming and outgoing data (m_sourceCharSet is used for

Comment 1 Robby Stephenson 2020-04-05 18:37:48 UTC
Git commit 49156ff43a682345da31e97881cfb66bb0d51f7c by Robby Stephenson.
Committed on 05/04/2020 at 18:28.
Pushed by rstephenson into branch 'master'.

Separate query character set encoding from response for z39.50 server

By default, the response is assumed to be the same as the query
if it is empty.

M  +4    -0    ChangeLog
M  +32   -26   src/fetch/z3950connection.cpp
M  +6    -5    src/fetch/z3950connection.h
M  +51   -19   src/fetch/z3950fetcher.cpp
M  +6    -3    src/fetch/z3950fetcher.h
M  +25   -2    src/tests/z3950fetchertest.cpp
M  +1    -0    src/tests/z3950fetchertest.h