【问题标题】:Informix 4GL ignores window border when UTF8 set设置 UTF8 时,Informix 4GL 忽略窗口边框
【发布时间】:2012-04-17 09:28:56
【问题描述】:

谁能解释一下?有解决办法吗? RHEL/CentOS 上的 Informix 4GL RDS 7.50.UC3

$ fglpc test
$ fglgo test

   1 ++++X+++++++++X+++++++++X+++++++++X+++++++++X
   2 ++++X+++++++++X+++++++++X+++++++++X+++++++++X
   3 ++++X+++++++++X+++++++++X+++++++++X+++++++++X
   4 +++┌────────────────────┐+++++++++X+++++++++X
   5 +++│exit?               │+++++++++X+++++++++X
   6 +++│                    │+++++++++X+++++++++X
   7 +++│                    │+++++++++X+++++++++X
   8 +++│                    │+++++++++X+++++++++X
   9 +++└────────────────────┘+++++++++X+++++++++X
  10 ++++X+++++++++X+++++++++X+++++++++X+++++++++X
  11 ++++X+++++++++X+++++++++X+++++++++X+++++++++X
…    
$ export CLIENT_LOCALE=en_US.utf8
$ fglgo test

   1 ++++X+++++++++X+++++++++X+++++++++X+++++++++X
   2 ++++X+++++++++X+++++++++X+++++++++X+++++++++X
   3 ++++X+++++++++X+++++++++X+++++++++X+++++++++X
   4 ++++X+++++++++X+++++++++X+++++++++X+++++++++X
   5 ++++exit?               X+++++++++X+++++++++X
   6 ++++X+++++++++X+++++++++X+++++++++X+++++++++X
   7 ++++X+++++++++X+++++++++X+++++++++X+++++++++X
   8 ++++X+++++++++X+++++++++X+++++++++X+++++++++X
   9 ++++X+++++++++X+++++++++X+++++++++X+++++++++X
  10 ++++X+++++++++X+++++++++X+++++++++X+++++++++X
  11 ++++X+++++++++X+++++++++X+++++++++X+++++++++X
  …

这是代码

$ cat test.4gl

main
  define
    i smallint,
    b char(75),
    c char
  let b = "++++X+++++++++X+++++++++X+++++++++X+++++++++X"
  for i = 1 to 24
    display i using "#### ", b clipped at i,1
  end for
  open window test_win at 5,10 with 4 rows, 20 columns
    attributes(border)
  prompt "exit?" for char c
  close window test_win
end main

【问题讨论】:

    标签: utf-8 informix 4gl


    【解决方案1】:

    糟糕,这是我从 OpenServer 5 上的 4GL 4.0 继承的旧自定义 termcap

    $ export TERMCAP=/opt/informix/etc/termcap
    $ fglgo test
       1 ++++X+++++++++X+++++++++X+++++++++X+++++++++X
       2 ++++X+++++++++X+++++++++X+++++++++X+++++++++X
       3 ++++X+++++++++X+++++++++X+++++++++X+++++++++X
       4 ++++--------------------++++++++++X+++++++++X
       5 +++|exit?               |+++++++++X+++++++++X
       6 +++|                    |+++++++++X+++++++++X
       7 +++|                    |+++++++++X+++++++++X
       8 +++|                    |+++++++++X+++++++++X
       9 ++++--------------------++++++++++X+++++++++X
      10 ++++X+++++++++X+++++++++X+++++++++X+++++++++X
      11 ++++X+++++++++X+++++++++X+++++++++X+++++++++X
    

    亲爱的。

    $ echo $TERM
    ansi
    $ cat evil-termcap
    
    # Minimal ANSI for Telix.  8 Oct 96
    #
    lx|ansi-t|Telix in ANSI-BBS mode:\
            :al=\E[L:am:bs:cd=\E[J:ce=\E[K:cl=\E[2J\E[H:cm=\E[%i%d;%dH:co#80:\
            :dc=\E[P:dl=\E[M:do=\E[B:bt=\E[Z:ei=:ho=\E[H:ic=\E[@:im=:li#25:\
            :nd=\E[C:pt:so=\E[7m:se=\E[m:us=\E[4m:ue=\E[m:up=\E[A:\
            :kb=^h:ku=\E[A:kd=\E[B:kl=\E[D:kr=\E[C:eo:\
            :k0=\E[M:k1=\E[N:k2=\E[O:k3=\E[P:k4=\E[Q:k5=\E[R:\
            :k6=\E[S:k7=\E[T:k8=\E[U:k9=\E[V:\
            :kA=\E[W:kB=\E[X:\
            :mb=\E[5m:me=\E[m:\
            :gb=\332\300\277\331\304\263:
    
    #     Ansi Terminal - In Black AND White
    #     based on ansi-t,
    #     adds scrolling (sf,sr)
    #     and INFORMIX capabilities (GS,GE,GV,GH,etc)
    #
    lb|ansib|Ansi standard crt:\
            :sf=\E[S:sr=\E[T:\
            :GS=\E[12m:GE=\E[10m:GV=\63:GH=D:\
            :GC=E:GL=\64:GR=C:RT=^J:G1=?:G2=Z:G3=@:G4=Y:GU=A:GD=B:\
            :CW=\E[M:NU=\E[N:RF=\E[O:RC=\E[P:\
            :WL=\E[S:WR=\E[T:CL=\E[U:CR=\E[V:\
            :HM=\E[H:EN=\E[F:PU=\E[I:PD=\E[G:\
            :ZA=\E[0%?%p2%t;7%;%?%p3%t;5%;%?%p4%t;4%;m:\
            :tc=ansi-t:
    
    #
    #     Ansi Terminal - In Colour
    #     based on ansib (b/w) - adds INFORMIX colour handling proglet
    li|ansi|Ansi standard crt:\
            :ZA=\E[0m\E[%?%p1%{0}%=%t%{7}%e%p1%{1}%=%t%{3}%e%p1%{2}%=%t%{5}%e%p1%{3}%=%t%{1}%e%p1%{4}%=%t%{6}%e%p1%{5}%=%t%{2}%e%p1%{6}%=%t%{4}%e%p1%{7}%=%t%{0}%;%?%p2%t%Pa%?%ga%{6}%=%t34m%e%ga%{7}%=%t30m%e%ga%{1}%=%t1m\E[33m%e%ga%{2}%=%t30m%e%ga%{5}%=%t37m%{1}%Pa%e37m%;%ga%{40}%+\E[%2d%e40m%{30}%+\E[%2d%;m%?%p3%t\E[5m%;%?%p4%t\E[4m%;:\
            :tc=ansib:
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-09-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-01
      • 2011-06-05
      • 2023-04-05
      • 1970-01-01
      相关资源
      最近更新 更多