[MacPorts] #26017: aqualess-1.6 AquaLess.app ignores set UTF-8 locale and thus does not display correctly UTF-8 encoded text

MacPorts noreply at macports.org
Wed Nov 21 15:32:31 PST 2012


#26017: aqualess-1.6 AquaLess.app ignores set UTF-8 locale and thus does not
display correctly UTF-8 encoded text
-------------------------------+--------------------------------
  Reporter:  Torsten.Maehne@…  |      Owner:  macports-tickets@…
      Type:  defect            |     Status:  new
  Priority:  Normal            |  Milestone:
 Component:  ports             |    Version:  1.9.1
Resolution:                    |   Keywords:
      Port:  aqualess          |
-------------------------------+--------------------------------
Changes (by ryandesign@…):

 * keywords:  UTF-8, locale =>


Old description:

> {{{AquaLess.app}}} seems to ignore a set UTF-8 locale thus displaying
> incorrectly text containing umlauts and other special characters received
> via aless from the command line.
>
> I set-up my Mac OS X 10.6.4 to use the {{{de_CH.UTF-8}}} locale in the
> terminal via the {{{LANG}}} and {{{LC_ALL}}} environment variables. All
> command line tools (e.g., {{{svn}}}, {{{gcc}}}, {{{man}}}, {{{less}}},
> {{{locale}}}) correctly take the locale with the specified text encoding
> into account, but {{{AquaLess.app}}} launched via {{{aless}}} seems to
> ignore this locale. {{{AquaLess.app}}} seems to take only into account
> the region specified under "Formats" in the "Language and Text" pane of
> the system preferences, which in turn seems to set just a "de_CH",
> "en_US", etc. locale without ".UTF-8" suffix.
>
> I was not able to find a solution for this problem by searching the web,
> but only hints that it matters where the environment variables are set. I
> have tried all possibles I found, namely:
>
> 1. Specifying the environment variables on the command line for the
> current shell:
> {{{
> $ export LANG=de_CH.UTF-8
> $ export LC_ALL=de_CH.UTF-8
> }}}
>
> 2. Specifying the environment variables in
> {{{~/.MacOSX/environment.plist}}}
>
> 3. Specifying the environment variables in {{{/etc/launchd.conf}}}
>
> The effect was always the same: The locale with text encoding is set
> correctly in the shell of {{{iTerm.app}}} and {{{Terminal.app}}}, but
> {{{AquaLess.app}}} is ignoring the specified text encoding.
>
> To verify this wrong behaviour in {{{AquaLess.app}}}, it suffices to
> execute the following commands from a Bash shell in {{{Terminal.app}}}
>
> {{{
> $ export LANG=en_US.UTF-8
> $ export LC_ALL=en_US.UTF-8
> }}}
>
> Then less correctly displays a string containing umlauts and other
> special characters:
> {{{
> $ echo "öäüéàè\`¿´^'ç°" | less
> }}}
>
> However, {{{AquaLess.app}}} fails for the same string:
> {{{
> $ echo "öäüéàè\`¿´^'ç°" | aless
> }}}
>
> It displays "öäüéàè`¿´^'ç°" ignoring the UTF-8 text encoding.
>
> {{{aless}}} should either forward the text encoding used in the terminal
> or {{{AquaLess.app}}} should provide in its Preferences pane a setting to
> configure the text encoding.

New description:

 {{{AquaLess.app}}} seems to ignore a set UTF-8 locale thus displaying
 incorrectly text containing umlauts and other special characters received
 via aless from the command line.

 I set-up my Mac OS X 10.6.4 to use the {{{de_CH.UTF-8}}} locale in the
 terminal via the {{{LANG}}} and {{{LC_ALL}}} environment variables. All
 command line tools (e.g., {{{svn}}}, {{{gcc}}}, {{{man}}}, {{{less}}},
 {{{locale}}}) correctly take the locale with the specified text encoding
 into account, but {{{AquaLess.app}}} launched via {{{aless}}} seems to
 ignore this locale. {{{AquaLess.app}}} seems to take only into account the
 region specified under "Formats" in the "Language and Text" pane of the
 system preferences, which in turn seems to set just a "de_CH", "en_US",
 etc. locale without ".UTF-8" suffix.

 I was not able to find a solution for this problem by searching the web,
 but only hints that it matters where the environment variables are set. I
 have tried all possibles I found, namely:

 1. Specifying the environment variables on the command line for the
 current shell:
 {{{
 $ export LANG=de_CH.UTF-8
 $ export LC_ALL=de_CH.UTF-8
 }}}

 2. Specifying the environment variables in
 {{{~/.MacOSX/environment.plist}}}

 3. Specifying the environment variables in {{{/etc/launchd.conf}}}

 The effect was always the same: The locale with text encoding is set
 correctly in the shell of {{{iTerm.app}}} and {{{Terminal.app}}}, but
 {{{AquaLess.app}}} is ignoring the specified text encoding.

 To verify this wrong behaviour in {{{AquaLess.app}}}, it suffices to
 execute the following commands from a Bash shell in {{{Terminal.app}}}

 {{{
 $ export LANG=en_US.UTF-8
 $ export LC_ALL=en_US.UTF-8
 }}}

 Then less correctly displays a string containing umlauts and other special
 characters:
 {{{
 $ echo "öäüéàè\`¿´^'ç°" | less
 }}}

 However, {{{AquaLess.app}}} fails for the same string:
 {{{
 $ echo "öäüéàè\`¿´^'ç°" | aless
 }}}

 It displays "{{{öäüéàè`¿´^'ç°}}}" ignoring the UTF-8 text
 encoding.

 {{{aless}}} should either forward the text encoding used in the terminal
 or {{{AquaLess.app}}} should provide in its Preferences pane a setting to
 configure the text encoding.

--

Comment:

 This is not a MacPorts-specific problem. Please report it to the
 developers of AquaLess; they're the ones who have to fix it.

-- 
Ticket URL: <https://trac.macports.org/ticket/26017#comment:2>
MacPorts <http://www.macports.org/>
Ports system for Mac OS


More information about the macports-tickets mailing list