On Wed, 6 Dec 2017 15:34:17 +0000, Tim Bunce <[email protected]> wrote:
> On Wed, Dec 06, 2017 at 04:12:53PM +0100, H.Merijn Brand wrote:
> > On Wed, 6 Dec 2017 15:50:11 +0100, "H.Merijn Brand"
> > >
> > > I have been playing with several variants of
> > >
> > > select convert (land_u, 'AL16UTF16', 'UTF8') from land where c_land =
> > > 7072;
> > >
> > > but I didn't get SQL Developer to show the ë
> >
> > select utl_encode.text_encode (land_u) from land where c_land = 7072;
> >
> > =>
> >
> > Zuidrhodesi=C3=AB
> >
> > so SQL developer *does* see the individual bytes as they are stored
> >
> > I can get the expected display with
> >
> > select utl_i18n.raw_to_nchar (utl_i18n.string_to_raw (land_u), 'utf8')
> > from land where c_land = 7072;
> >
> > which experiences as rather overcomplicated, esp if I need to do this
> > for all _u fields in the query :(
>
> A view might be useful. Or perhaps define your own function to wrap the
> expression.
>
> Tim.
That worked very well!
CREATE OR REPLACE FUNCTION diac_u (v VARCHAR2) RETURN NCHAR IS
BEGIN
RETURN utl_i18n.raw_to_nchar (utl_i18n.string_to_raw (v), 'utf8');
END;
/
select diac_u (land_u) from land where c_land = 7072;
⇒
Zuidrhodesië
Thank you!
--
H.Merijn Brand http://tux.nl Perl Monger http://amsterdam.pm.org/
using perl5.00307 .. 5.27 porting perl5 on HP-UX, AIX, and openSUSE
http://mirrors.develooper.com/hpux/ http://www.test-smoke.org/
http://qa.perl.org http://www.goldmark.org/jeff/stupid-disclaimers/
pgpQQrlL5SfnD.pgp
Description: OpenPGP digital signature
