Codificare e decodificare identificatori di SQL ServerEncode and Decode SQL Server Identifiers

Gli identificatori delimitati di SQL Server possono contenere caratteri non supportati nei percorsi di Windows PowerShell.SQL Server delimited identifiers sometimes contain characters not supported in Windows PowerShell paths. È possibile specificare questi caratteri codificando i valori esadecimali.These characters can be specified by encoding their hexadecimal values.

  1. Prima di iniziare: Limitazioni e restrizioniBefore you begin: Limitations and Restrictions

  2. Per elaborare caratteri speciali: Codifica di un identificatore, Decodifica di un identificatoreTo process special characters: Encoding an Identifier, Decoding an Identifier

Prima di iniziareBefore You Begin

I caratteri non supportati nei nomi dei percorsi di Windows PowerShell possono essere rappresentati o codificati come il carattere "%" seguito dal valore esadecimale del modello di bit che rappresenta il carattere, come in "%xx".Characters that are not supported in Windows PowerShell path names can be represented, or encoded, as the "%" character followed by the hexadecimal value for the bit pattern that represents the character, as in "%xx". La codifica può sempre essere utilizzata per gestire i caratteri non supportati nei percorsi di Windows PowerShell.Encoding can always be used to handle characters that are not supported in Windows PowerShell paths.

Il cmdlet Encode-SqlName accetta come input un identificatore di SQL ServerSQL Server .The Encode-SqlName cmdlet takes as input a SQL ServerSQL Server identifier. Viene restituita una stringa con tutti i caratteri non supportati dal linguaggio di Windows PowerShell codificati con "% xx".It outputs a string with all the characters that are not supported by the Windows PowerShell language encoded with "%xx". Il cmdlet Decode-SqlName accetta come input un identificatore di SQL ServerSQL Server codificato e restituisce l'identificatore originale.The Decode-SqlName cmdlet takes as input an encoded SQL ServerSQL Server identifier and returns the original identifier.

Limitazioni e restrizioni Limitations and Restrictions

I cmdlet Encode-Sqlname e Decode-Sqlname codificano o decodificano solo i caratteri consentiti negli identificatori delimitati di SQL Server, ma non sono supportati nei percorsi di PowerShell.The Encode-Sqlname and Decode-Sqlname cmdlets only encode or decode the characters that are allowed in SQL Server delimited identifiers, but are not supported in PowerShell paths. Caratteri codificati da Encode-SqlName e decodificati da Decode-SqlName:These are the characters encoded by Encode-SqlName and decoded by Decode-SqlName:

CarattereCharacter |/ :: % < > * ?? [[ ]] ||
Codifica esadecimaleHexadecimal Encoding %5C%5C %2F%2F %3A%3A %25%25 %3C%3C %3E%3E %2A%2A %3F%3F %5B%5B %5D%5D %7C%7C

Codifica di un identificatore Encoding an Identifier

Per codificare un identificatore di SQL Server in un percorso di PowerShellTo encode a SQL Server identifier in a PowerShell path

  • Utilizzare uno dei due metodi per codificare un identificatore di SQL Server:Use one of two methods to encode a SQL Server identifier:

    • Specificare il codice esadecimale per il carattere non supportato utilizzando la sintassi% XX, dove XX rappresenta il codice esadecimale.Specify the hexadecimal code for the unsupported character using the syntax %XX, where XX is the hexadecimal code.

    • Passare l'identificatore come stringa tra virgolette al cmdlet Encode-SqlnamePass the identifier as a quoted string to the Encode-Sqlname cmdlet

Esempi (codifica)Examples (Encoding)

In questo esempio viene specificata la versione codificata del carattere ":" (% 3A):This example specifies the encoded version of the ":" character (%3A):

Set-Location Table%3ATest  

In alternativa, è possibile usare Encode-SqlName per compilare un nome supportato da Windows PowerShell:Alternatively, you can use Encode-SqlName to build a name supported by Windows PowerShell:

Set-Location (Encode-SqlName "Table:Test")  

Decodifica di un identificatore Decoding an Identifier

Per decodificare un identificatore di SQL Server da un percorso di PowerShellTo decode a SQL Server identifier from a PowerShell path

Usare il cmdlet Decode-Sqlname per sostituire le codifiche esadecimali con i caratteri rappresentati dalla codifica.Use the Decode-Sqlname cmdlet to replace the hexadecimal encodings with the characters represented by the encoding.

Esempi (decodifica)Examples (Decoding)

In questo esempio viene restituito "Table:Test":This example returns “Table:Test”:

Decode-SqlName "Table%3ATest"  

Vedere ancheSee Also

Identificatori di SQL Server in PowerShell SQL Server Identifiers in PowerShell
Provider PowerShell per SQL Server SQL Server PowerShell Provider
SQL Server PowerShellSQL Server PowerShell