Die Idee hatte ich auch schon. Allerdings hatte ich das mit CCSID 1208 probiert, weil ich hauptsächlich mit UTF-8 arbeite. Dabei habe ich aber bei allen Feldinhalten, wo Sonderzeichen vorkamen, einen "null"-Wert als Ergebnis erhalten. Deshalb hatte ich das mit 13488 erst gar nicht versucht. Jetzt hab ich's doch mal getestet. Und es hat funktioniert. Bei folgendem "triple-cast" erhalte ich das gewünschte Ergebnis:
Warum geht das mit CCSID 1208 nicht ? Das wäre doch auch eine einheitliche CCSID.Code:"SELECT ttartn, ttsprs, " + "CASE " + "WHEN ttsprs IN('C', 'P') THEN " + "CAST(CAST(CAST(tttext AS CHARACTER (60) CCSID 65535) AS CHARACTER (60) CCSID 1153) AS GRAPHIC (60) CCSID 13488) " + "WHEN ttsprs = 'G' THEN " + "CAST(CAST(CAST(tttext AS CHARACTER (60) CCSID 65535) AS CHARACTER (60) CCSID 875) AS GRAPHIC (60) CCSID 13488) " + "WHEN ttsprs = 'R' THEN " + "CAST(CAST(CAST(tttext AS CHARACTER (60) CCSID 65535) AS CHARACTER (60) CCSID 1154) AS GRAPHIC (60) CCSID 13488) " + "ELSE " + "CAST(CAST(CAST(tttext AS CHARACTER (60) CCSID 65535) AS CHARACTER (60) CCSID 1141) AS GRAPHIC (60) CCSID 13488) " + "END " ...
Gruß,
KM
![[NEWSboard IBMi Forum]](images/duke/nblogo.gif)



Mit Zitat antworten
Bookmarks