<div dir="ltr"><div>Are you sure it is not a problem related to your terminal ?</div><div><br></div><div>From the behaviour you are describing, it seems that your terminal is incorrectly set to Latin-1 encoding, so that when the sequence of bytes 0xC3 0xBC is displayed on the screen, it produces <span lang="EN-US">ü instead of </span><span class="gmail-box">ü. <br></span></div><div><span class="gmail-box"><br></span></div><div><span class="gmail-box">--gianluca<br></span></div></div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">On Thu, Feb 13, 2025 at 10:42 AM Grüter, Philip <<a href="mailto:philip.grueter@secunet.com">philip.grueter@secunet.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="msg-9010061611229832253">





<div lang="DE">
<div class="m_-6462716239506717993WordSection1">
<p class="MsoNormal"><span lang="EN-US">Hi all,<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">I currently have a problem with Umlauts (Ü, Ä, Ö) with my Shibboleth instance.<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">The output I get (with aacli.sh and over a normal SAML2 session) is this:
<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">  {<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">    "name": "sn",<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">    "values": [<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">        "Müller"<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">    ]<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">  },<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">“ü” is the corresponding Latin-1 encoding for Ü, but I can't find where it's coming from.
<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">I'm still running 4.3.0, we are in the process of upgrading. The server uses Jetty9 and java-11-amazon-corretto-jdk.<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">We pull attributes out of a MySQL database during attribute resolution. The database is encoded with UTF-8.<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">The "table" we access, is a view, which is creted from two different tables. Both tables and the view is also set to UTF-8.<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">These are my configs and the Log output: <u></u>
<u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">gloabl.xml: <u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><bean id="shibboleth.MySQLExtraDataSource"<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">                class="%{mysqlextra.class}"<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">                p:driverClassName="com.mysql.jdbc.Driver"<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">                p:jdbcUrl="%{mysqlextra.url}"<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">                p:username="%{mysqlextra.username}"<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">                p:password="%{mysqlextra.password}" /><u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">idp.properties DB Connection: <u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">mysqlextra.class = com.zaxxer.hikari.HikariDataSource<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">mysqlextra.url = jdbc:mysql://REDACTED IP:6033/userdb?useUnicode=true&characterEncoding=UTF-8<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">attribute-resolver.xml:<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">    <AttributeDefinition id="sn" xsi:type="Template"><u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">        <InputDataConnector ref="mysqlextra" attributeNames="db_surname" /><u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">        <Template><u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">          <![CDATA[<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">               ${db_surname}<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">          ]]><u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">        </Template><u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">    </AttributeDefinition><u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">…<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">    <DataConnector xsi:type="RelationalDatabase" id="mysqlextra"><u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">        <BeanManagedConnection>shibboleth.MySQLExtraDataSource</BeanManagedConnection><u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">            <QueryTemplate><u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">            <![CDATA[<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">                    SELECT email,forename,surname from moodle2_auth where username='$resolutionContext.principal'<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">            ]]><u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">            </QueryTemplate><u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">        <Column columnName="email" attributeID="db_mail" /><u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">        <Column columnName="forename" attributeID="db_forename" /><u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">        <Column columnName="surname" attributeID="db_surname" /><u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">    </DataConnector><u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">Debug Log Output after requesting Attributes with the aacli.sh Utility:<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">2025-02-13 09:56:15,701 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.impl.AttributeResolverImpl:?] - Attribute Resolver 'ShibbolethAttributeResolver': Initiating attribute resolution with label: admin/resolvertest<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">2025-02-13 09:56:15,701 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.impl.AttributeResolverImpl:?] - Attribute Resolver 'ShibbolethAttributeResolver': Attempting to resolve the following attribute definitions
 [uid, givenName, sn, mail]<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">2025-02-13 09:56:15,701 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.impl.AttributeResolverImpl:?] - Attribute Resolver 'ShibbolethAttributeResolver': Resolving dependencies for 'uid'<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">2025-02-13 09:56:15,701 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.impl.AttributeResolverImpl:?] - Attribute Resolver 'ShibbolethAttributeResolver': Finished resolving dependencies for 'uid'<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">2025-02-13 09:56:15,702 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.AbstractAttributeDefinition:?] - Attribute Definition 'uid': produced an attribute with the following values [StringAttributeValue{value=REDACTED
 USER ID}]<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">2025-02-13 09:56:15,704 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.impl.AttributeResolverImpl:?] - Attribute Resolver 'ShibbolethAttributeResolver': Attribute definition 'uid' produced an attribute with
 1 values<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">2025-02-13 09:56:15,706 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.impl.AttributeResolverImpl:?] - Attribute Resolver 'ShibbolethAttributeResolver': Resolving dependencies for 'givenName'<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">2025-02-13 09:56:15,706 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.impl.AttributeResolverImpl:?] - Attribute Resolver 'ShibbolethAttributeResolver': Resolving dependencies for 'mysqlextra'<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">2025-02-13 09:56:15,706 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.impl.AttributeResolverImpl:?] - Attribute Resolver 'ShibbolethAttributeResolver': Finished resolving dependencies for 'mysqlextra'<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">2025-02-13 09:56:15,706 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.impl.AttributeResolverImpl:?] - Attribute Resolver 'ShibbolethAttributeResolver': Resolving data connector mysqlextra<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">2025-02-13 09:56:15,717 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.dc.rdbms.TemplatedExecutableStatementBuilder:?] - Template text SELECT email,forename,surname from moodle2_auth where username='$resolutionContext.principal'
 yields SELECT email,forename,surname from moodle2_auth where username='REDACTED USER ID'<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">2025-02-13 09:56:15,758 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.dc.rdbms.StringResultMappingStrategy:?] - Remapping column email to db_mail<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">2025-02-13 09:56:15,758 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.dc.rdbms.StringResultMappingStrategy:?] - Remapping column forename to db_forename<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">2025-02-13 09:56:15,759 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.dc.rdbms.StringResultMappingStrategy:?] - Remapping column surname to db_surname<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">2025-02-13 09:56:15,759 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.AbstractDataConnector:?] - Data Connector 'mysqlextra': produced the following 3 attributes during resolution [db_surname, db_mail, db_forename]<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">2025-02-13 09:56:15,759 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.AbstractDataConnector:?] - Data Connector 'mysqlextra': Attribute 'db_surname': Values '[StringAttributeValue{value=Müller}]'<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">2025-02-13 09:56:15,759 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.AbstractDataConnector:?] - Data Connector 'mysqlextra': Attribute 'db_mail': Values '[StringAttributeValue{value=REDACTED USER MAIL}]'<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">2025-02-13 09:56:15,759 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.AbstractDataConnector:?] - Data Connector 'mysqlextra': Attribute 'db_forename': Values '[StringAttributeValue{value=REDACTED USER NAME}]'<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">2025-02-13 09:56:15,760 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.impl.AttributeResolverImpl:?] - Attribute Resolver 'ShibbolethAttributeResolver': Data connector 'mysqlextra' resolved the following attributes:
 [db_surname, db_mail, db_forename]<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">2025-02-13 09:56:15,762 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.impl.AttributeResolverImpl:?] - Attribute Resolver 'ShibbolethAttributeResolver': Finished resolving dependencies for 'givenName'<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">2025-02-13 09:56:15,763 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.ad.impl.TemplateAttributeDefinition:?] - Attribute Definition 'givenName': Determining value 1<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">2025-02-13 09:56:15,764 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.ad.impl.TemplateAttributeDefinition:?] - Attribute Definition 'givenName': Adding value 'REDACTED USER NAME' for attribute 'db_forename'
 to the template context<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">2025-02-13 09:56:15,764 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.ad.impl.TemplateAttributeDefinition:?] - Attribute Definition 'givenName': Evaluating template<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">2025-02-13 09:56:15,766 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.ad.impl.TemplateAttributeDefinition:?] - Attribute Definition 'givenName': Result of template evaluating was 'REDACTED USER NAME'<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">2025-02-13 09:56:15,766 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.AbstractAttributeDefinition:?] - Attribute Definition 'givenName': produced an attribute with the following values [StringAttributeValue{value=REDACTED
 USER NAME}]<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">2025-02-13 09:56:15,766 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.impl.AttributeResolverImpl:?] - Attribute Resolver 'ShibbolethAttributeResolver': Attribute definition 'givenName' produced an attribute
 with 1 values<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">2025-02-13 09:56:15,766 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.impl.AttributeResolverImpl:?] - Attribute Resolver 'ShibbolethAttributeResolver': Resolving dependencies for 'sn'<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">2025-02-13 09:56:15,766 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.impl.AttributeResolverImpl:?] - Attribute Resolver 'ShibbolethAttributeResolver': Finished resolving dependencies for 'sn'<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">2025-02-13 09:56:15,767 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.ad.impl.TemplateAttributeDefinition:?] - Attribute Definition 'sn': Determining value 1<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">2025-02-13 09:56:15,767 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.ad.impl.TemplateAttributeDefinition:?] - Attribute Definition 'sn': Adding value 'Müller' for attribute 'db_surname' to the template
 context<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">2025-02-13 09:56:15,767 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.ad.impl.TemplateAttributeDefinition:?] - Attribute Definition 'sn': Evaluating template<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">2025-02-13 09:56:15,768 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.ad.impl.TemplateAttributeDefinition:?] - Attribute Definition 'sn': Result of template evaluating was 'Müller'<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">2025-02-13 09:56:15,768 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.AbstractAttributeDefinition:?] - Attribute Definition 'sn': produced an attribute with the following values [StringAttributeValue{value=Müller}]<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">2025-02-13 09:56:15,768 - 127.0.0.1 - DEBUG [net.shibboleth.idp.attribute.resolver.impl.AttributeResolverImpl:?] - Attribute Resolver 'ShibbolethAttributeResolver': Attribute definition 'sn' produced an attribute with
 1 values<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">Things I tried:<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">- Adding "?useUnicode=true&characterEncoding=UTF-8" to the jdbc URL<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">- Changing locales with ISO-8859-1 to UTF-8 in /etc/jetty9/webdefault.xml<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">Does anyone have any other ideas on things I can try to fix this?<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">Greetings,<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">Philip<u></u><u></u></span></p>
</div>
</div>

-- <br>
For Consortium Member technical support, see <a href="https://shibboleth.atlassian.net/wiki/x/ZYEpPw" rel="noreferrer" target="_blank">https://shibboleth.atlassian.net/wiki/x/ZYEpPw</a><br>
To unsubscribe from this list send an email to <a href="mailto:users-unsubscribe@shibboleth.net" target="_blank">users-unsubscribe@shibboleth.net</a><br>
</div></blockquote></div>