2014-03-19 2 views
1

일부 스페인어 문자가 포함 된 문자열이 있는데 U2의 OCONV() 코드를 'MCT' 코드와 함께 사용하면 스페인어 문자가 다른 것으로 변경됩니다. 아는 사람 있나요?'MCT'코드가있는 OCONV()가 원래 문자열을 변경하는 이유는 무엇입니까?

STRING: T r L=16 `CITáN, MOR 32000' 

TEST.MCT: 5: STR2 = OCONV(STR,'MCT') 
:: S 
TEST.MCT: 6: CRT STR2 
:: S 
Cit?9: Mor 32000 
+1

사용중인 U2 버전은 무엇입니까? UniData 또는 UniVerse? 제공 한 예를 기반으로 MCT는 소문자를 만들 비트 수학을 수행합니다. ASCII 128 이상의 문자는 잘못 번역됩니다. 데이터베이스가 유니 코드를 사용할 수 있도록 설정되어 있는지 확인하십시오. 그러나 ASCT 128 이상의 문자가있는 MCT의 버그 일 수 있습니다. –

+0

@intl Universe V11.1 – user1387287

답변

1

다음 프로그램을 만들었지 만 문제가 발생하지 않습니다. 내가 Windows에서, UniVerse11.2.2 테스트

CITáN, MOR 3200 
Citán, Mor 3200 
225 
> 

참고 :

CT BP는 SO

SO 
0001 STR = "CIT":CHAR(225):"N, MOR 3200" 
0002 STR2 = OCONV(STR, "MCT") 
0003 PRINT STR 
0004 PRINT STR2 
0005 PRINT SEQ(STR2[4,1]) 

내가 컴파일하고 실행

, 나는 다음과 같은 얻을. HS.SALES 계정에서 제공 한 샘플 코드를 사용해보고 그 코드가 무엇인지 알려주시겠습니까?

여전히 문제가있는 경우, 전체 UniVerse 버전과이 시스템에서 실행중인 OS를 알려주십시오.

추가 정보 : 노트는 AIX 6.1의 UniVerse 11.1.1에서 테스트되었으며 저에게 도움이되었습니다. 문제가 계속되는 경우 UniVerse 유지 보수 제공 업체에 연락하는 것이 좋습니다.

+0

Unix AIX 버전 6.1에서 Universe V11.1을 사용하고 있습니다. 감사합니다. 디버거를 통해 다음 단계로 넘어갔습니다. – user1387287

+0

Unix AIX 버전 6.1에서 Universe V11.1을 사용하고 있습니다. 감사합니다. 나는 디버거를 밟았으며 다음을 진행했다 : RAID BP TEST.CH TEST.CH : 1 : STR = "CIT": CHAR (225) : "N, MOR 3200" :: S TEST.CH : 2 : STR2 = OCONV (STR "MCT") :: STR/ STRING : T는 r = 16 L 'CITáN, MOR 3200' :: S TEST.CH : 3 : CRT STR :: STR2/ STRING : T는 r = 16 L 'CitÃ6n, 모르 3200' :: S CITáN, MOR 3200 TEST.CH : 4 : CRT STR2 :: S CIT의 N, 모르 3200 TEST.CH – user1387287

+0

: 2 : STR2 = OCONV (STR, "MCT") :: STR/ 문자열 : T L L = 16'CORD, MOR 3200 ' :: S 012 3,516,TEST.CH : 3 : CRT STR :: STR2/ STRING : T는 r = 16 L 'CitÃ3n, 모르 3200' :: S CITáN, MOR 3200 TEST.CH : 4 : CRT STR2 S : Cit?n, Mor 3200 – user1387287

0

라인을 결합하므로 출력을 읽기가 어렵습니다.

RAID를 통해 실행하면 올바른 정보가 표시됩니다.

RAID BP SO 
SO: 1: STR = "CIT":CHAR(225):"N, MOR 3200" 
:: S 
SO: 2: STR2 = OCONV(STR, "MCT") 
:: S 
SO: 3: PRINT STR 
:: S 
CITáN, MOR 3200 
SO: 4: PRINT STR2 
:: S 
Citán, Mor 3200 
SO: 5: PRINT SEQ(STR2[4,1]) 
:: S 
225 

그러나 UNIX 환경 변수에 LANG = en_US가 있습니다.

LANG이 설정된 환경에 따라 문제가있을 수 있으므로 U2 유지 관리 제공자에게 연락하시기 바랍니다.

관련 문제