잘못된 문자로 인해 SaveInteractiveHTML ()이 불완전한 보고서를 작성합니다.이 문제를 해결할 기존 기능이 있는지 궁금합니다.
Oracle에서 쿼리 한 데이터를 기반으로 한 테이블을 포함하는 보고서를 작성하는 JSL이 있습니다. 보고서는 JMP (JMP12.1)에서 잘 보였지만 SaveInteractiveHTML ()을 사용했을 때 불완전한 보고서와 오류가 발생했습니다. " PCDATA 유효하지 않은 문자 값 11 ... ". 거기에 있어야하는 문자열에 이상한 문자가없는 것처럼 보였지만, 필자가 문제가되는 필드를 알 수있었습니다.
그 문자열의 각 문자에 대해 ChartoHex를 사용하는 추가 연구에서는 보이지 않는 문자 인 ASCII 11 또는 16 진수 "0B"(분명히 "세로 탭")가 있음을 보여주었습니다.
이 특정 문자의 존재를 찾고 해당 문자열을 제거하기 위해이 특정 열의 값을 살펴보기 위해 스크립트를 업데이트했습니다. 그러나 이것은 아마도 HTML (?)으로 나타나지 않을 수도있는 여러 가능한 불법 문자 중 하나 일 뿐이며 아마도 다른 열에서도 나타날 수 있습니다.하지만 괴상한 것처럼 보입니다. 모든 대화식 HTML 보고서의 모든 문자 col에 대해 어쨌든 문자가 합법적이거나 불법적 인 HTML 함수로 작업 할 수 있도록 문자열을 정리하는 기존 JSL 함수가 있는지 궁금하십니까?
재 : 유효하지 않은 문자로 인해 SaveInteractiveHTML ()이 불완전한 보고서를 작성합니다.천만에요. @Craige_Hales Regex 명령으로 도움을 받았다. 우리가 도울 수있어서 기뻐.
재 : 유효하지 않은 문자로 인해 SaveInteractiveHTML ()이 불완전한 보고서를 작성합니다.감사! 그것을 구현했습니다. 잠재적 인 문제의 문자를 "모두"제거하는 것이 좋습니다.
재 : 유효하지 않은 문자로 인해 SaveInteractiveHTML ()이 불완전한 보고서를 작성합니다.HTML에서 ASCII 코드가 32 이하이거나 16 진수 코드가 "00"에서 "1F"인 인쇄 할 수없는 문자는 유효하지 않습니다.
이러한 문자를 제거 할 수있는 기존 JSL 스크립트를 모르지만 새 열에서 다음과 같은 열 수식을 사용하여 "name"이라는 열의 문자열에서 유효하지 않은 문자를 공백 문자로 바꿀 수 있습니다.
Regex(:name, "[\x00-\x1F]+", " ", GLOBALREPLACE)
이 스크립트를 스크립트에 적용하는 데 도움이 필요하면 알려주십시오.
~ 존