2012-04-17 43 views
1

任何人都可以解釋這一點嗎?有工作嗎? Informix的4GL RDS 7.50.UC3在RHEL/CentOS的當UTF8設置時,Informix 4GL忽略窗口邊框

$ 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 

回答

1

無賴,這是從4GL 4.0 OpenServer上5

$ 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 

哦,親愛的繼承我的舊習俗的termcap 。

$ 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:[email protected]: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: