L'insieme di caratteri locali è il gruppo di caratteri che può essere immesso o visualizzato nella shell della riga comandi del sistema operativo client. Sul sistema UNIX, l'insieme di caratteri locali è controllato dalla variabile di ambiente LANG. In Windows, è controllato dalle impostazioni in Opzioni di lingua e di regione. Per ulteriori informazioni, consultare la guida online per la Gestione di Rational ClearQuest.
L'insieme di caratteri del database del fornitore per Oracle è definito come insieme di caratteri o charset; come codepage o codeset per IBM DB2 e come codepage o raccolta per SQL Server.
Nelle versioni precedenti alla 7.0, le operazioni di scrittura non sono consentite a meno che l'insieme di caratteri locali non corrisponda alla codepage dei dati Rational ClearQuest. Se le impostazioni non corrispondono, sono consentite solo le operazioni di sola lettura. La modalità di sola lettura era necessaria poiché le applicazioni Rational ClearQuest utilizzavano l'insieme di caratteri locali del client o del server Web per scrivere i dati sul database, invece della codepage dei dati Rational ClearQuest per la serie di database.
A partire dalla versione 7.0, il software Rational ClearQuest elabora i dati in Unicode e le applicazioni utilizzano la codepage dei dati Rational ClearQuest per scrivere sui database. Queste applicazioni adesso possono collegarsi al database Rational ClearQuest in modalità di lettura/scrittura anche quando l'insieme di caratteri locali non corrisponde alla codepage dei dati Rational ClearQuest.
Questa nuova funzionalità consente una maggiore flessibilità in un ambiente Rational ClearQuest che include macchine con diversi insiemi di caratteri locali. Tuttavia, gli script e gli hook scritti per questi ambienti devono gestire i dati di carattere Rational ClearQuest che non potrebbero essere inclusi nell'insieme di caratteri locali. Per poter utilizzare questa funzionalità in tali ambienti è necessario che questi script ed hook siano codificati per supportare Unicode.
Designer include una nuova impostazione: Unicode Aware. Gli hook scritti per la versione 7.0 possono specificare se i caratteri di stringa restituiti dai richiami API di Rational ClearQuest devono trovarsi solo nell'insieme di caratteri locali (RETURN_STRING_LOCAL) o possono essere caratteri Unicode (RETURN_STRING_UNICODE). Inoltre, le nuove funzioni API sono disponibili per controllare la modalità della stringa di restituzione. In modalità RETURN_STRING_LOCAL, un richiamo API restituisce un'eccezione se la stringa di restituzione include caratteri che non possono essere rappresentati nell'insieme di caratteri locali. In RETURN_STRING_UNICODE, un richiamo API restituisce tutti i caratteri senza errori.
Per verificare che gli hook e gli script gestiscano tutti i dati possibili in una distribuzione dell'insieme di caratteri misti è necessario impostare la modalità su RETURN_STRING_UNICODE e gestire correttamente i caratteri Unicode che potrebbero essere restituiti. Non è sufficiente impostare la modalità di stringa di restituzione su RETURN_STRING_UNICODE; è necessario verificare che il codice possa gestire i caratteri Unicode in modo corretto. Le istruzioni elencate di seguito sono utili ed è necessario utilizzare le tecniche di programmazione Unicode appropriate per il linguaggio di script.
Se si sta eseguendo l'aggiornamento alla versione 7.0, queste modifiche non influiscono su uno schema esistente se tutti gli insiemi di caratteri locali nell'ambiente corrispondono alla codepage dei dati Rational ClearQuest, come avveniva solitamente nelle versioni precedenti. La modalità predefinita è RETURN_STRING_LOCAL, che consente agli hook e agli script di continuare a funzionare.
Se viene distribuita la versione 7.0 in un ambiente in cui gli insiemi di caratteri locali non corrispondono alla codepage dei dati di Rational ClearQuest, è necessario verificare che gli script possano elaborare i dati di carattere Unicode per il software Rational ClearQuest, impostare la modalità di restituzione per gli script su RETURN_STRING_UNICODE ed aggiornare i package alla versione 7.0. Per un elenco dei package Rational ClearQuest che supportano Unicode, consultare Tabella 1. Gli script che non gestiscono Unicode possono essere eseguiti, ma viene restituito un errore se il sistema tenta di restituire allo script dei dati di carattere che non sono inclusi nell'insieme di caratteri locali. Questi script continuano ad operare fino a quando i dati elaborati sono limitati all'insieme di caratteri locali del client o del server Web.
Package | Modalità stringa di restituzione |
---|---|
AMWorkActivitySchedule | RETURN_STRING_UNICODE |
ATStateTypes | RETURN_STRING_UNICODE |
Attachments | RETURN_STRING_UNICODE |
AuditTrail | RETURN_STRING_UNICODE |
BTStateTypes | RETURN_STRING_UNICODE |
BuildTracking | RETURN_STRING_UNICODE |
CQTM | RETURN_STRING_UNICODE |
Customer | RETURN_STRING_UNICODE |
DeploymentTracking | RETURN_STRING_UNICODE |
DTStateTypes | RETURN_STRING_UNICODE |
RETURN_STRING_UNICODE | |
EnhancementRequest | RETURN_STRING_UNICODE |
eSignature | RETURN_STRING_UNICODE |
History | RETURN_STRING_UNICODE |
Notes | RETURN_STRING_UNICODE |
Project | RETURN_STRING_UNICODE |
Resolution | RETURN_STRING_UNICODE |
TPM | RETURN_STRING_UNICODE |
Il software Rational ClearQuest gestisce tutti i dati come caratteri Unicode. Tuttavia, gli hook di schema (Perl e Visual Basic) e le altre applicazioni API di Rational ClearQuest o integrazioni non possono essere codificate per elaborare i caratteri Unicode. Nella versione 7.0, una modalità della stringa di restituzione è disponibile per gestire questo problema. Il codice hook può essere impostato su Unicode Aware nell'editor di script Designer per indicare che lo script viene seguito in una modalità della stringa di restituzione RETURN_STRING_UNICODE. Per eseguire tale operazione, selezionare la casella di spunta Unicode Aware. Gli script possono richiamare il metodo SetPerlReturnStringMode o SetBasicReturnStringMode per impostare la modalità della stringa di restituzione su RETURN_STRING_UNICODE.
La modalità della stringa di restituzione limita (RETURN_STRING_LOCAL) o consente l'intera rappresentazione di caratteri (RETURN_STRING_UNICODE) quando le stringhe sono restituite dall'API di Rational ClearQuest per Perl o COM.
È preferibile scrivere gli hook e gli script che possono elaborare i caratteri Unicode. RETURN_STRING_LOCAL viene fornito come modalità della stringa di restituzione predefinita in modo tale che gli hook e gli script esistenti per le versioni precedenti del software Rational ClearQuest possano essere eseguiti senza modifiche. Nel tempo, è opportuno modificare gli hook e gli script esistenti da utilizzare in modalità RETURN_STRING_UNICODE, anche se attualmente non è necessario Unicode.
Per impostazione predefinita, un'eccezione viene rilevata nel passo 2 quando lo script API Rational ClearQuest viene restituito con una stringa che include i caratteri all'esterno dell'insieme di caratteri locali. L'eccezione evita la corruzione dei dati. Una volta verificato e confermato che il codice può elaborare caratteri Unicode, è possibile impostare la modalità della stringa di restituzione RETURN_STRING_UNICODE utilizzando l'API di Rational ClearQuest o nell'editor di script di Designer. Apportando questa modifica, nel passo 2 l'API di Rational ClearQuest per Perl restituisce la stringa del valore del campo come UTF8 (UNICODE) se la stringa contiene dati dell'insieme di caratteri non locali e l'API di Rational ClearQuest per VBScript, Visual Basic o COM restituisce caratteri Unicode illimitati. I caratteri che non possono essere rappresentati nell'insieme di caratteri locali possono essere restituiti all'hook o allo script per l'elaborazione come caratteri Unicode.
Nella modalità RETURN_STRING_LOCAL, le operazioni quali l'esecuzione di query possono essere eseguite e la serie dei risultati della query può includere i caratteri Unicode. Un'eccezione viene creata solo se i dati sono estratti dalla serie di risultati da un metodo dell'API di Rational ClearQuest e i caratteri restituiti dal richiamo API non si trovano nell'insieme di caratteri locali. Ad esempio, un'integrazione o un'applicazione esterna può operare su una richiesta di modifica se i dati trasferiti all'integrazione contengono solo i caratteri dell'insieme di caratteri locali. Il codice di integrazione deve gestire l'eccezione rilevata da un metodo dell'API di Rational ClearQuest quando i caratteri restituiti non si trovano nell'insieme di caratteri locali. Se un'API di integrazione viene configurata come RETURN_STRING_UNICODE, l'eccezione non viene rilevata e l'applicazione deve gestire correttamente qualsiasi carattere Unicode restituito. In entrambe le modalità RETURN_STRING_LOCAL e RETURN_STRING_UNICODE, le eccezioni sono restituite all'integrazione di richiamo o all'applicazione se l'applicazione scrive i caratteri che non possono essere rappresentati nella codepage dei dati Rational ClearQuest.
Per ulteriori informazioni, consultare la sezione Impostazione della modalità della stringa di ritorno per gli hook e gli script in Riferimento API IBM Rational ClearQuest.
Alcuni package o schemi non sono stati progettati per gestire i dati dell'insieme di caratteri non locali e Unicode. Il supporto che ogni script di ciascun package offre è indicato nell'editor di script di Designer (la casella di spunta Unicode Aware è selezionata). Gli schemi DefectTracking e Common supportano Unicode. Tuttavia, qualsiasi schema che include un package che non supporta i caratteri Unicode non può essere utilizzato in una distribuzione dell'insieme di caratteri misti. Consultare Tabella 1.
È possibile modificare o aggiungere gli hook che accedono ai campi del package e questi hook sono considerati parte del package. Questi hook ereditano il supporto Unicode predefinito dal package, ma Designer non visualizza questa impostazione corretta per l'hook.
Se gli insiemi di caratteri locali di tutti i client connessi ad una serie di database o ad un gruppo corrispondono alla codepage dei dati, non è necessario considerare queste problematiche. Per ulteriori informazioni sulle rappresentazioni dei caratteri e sulle impostazioni di codepage, consultare la guida online per la Gestione di Rational ClearQuest.