Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Esta secção aplica-se apenas a utilizadores de Linux e macOS, em particular aqueles que lidam com mais do que uma localização nas suas aplicações php.
Por defeito, os Microsoft Drivers for PHP para SQL Server utilizam a variável de ambiente LC_ALL definida no sistema e sobrepõem-se a todas as outras LC_xxx categorias (talvez exceto $LANG ou $LANGUAGE sob certas circunstâncias), afetando o separador de milhares, caráter de ponto decimal, conjunto de caracteres, mês, nomes dos dias, mensagens da aplicação, incluindo mensagens de erro, símbolo de moeda, etc.
A partir da versão 5.8.0, os utilizadores podem configurar as definições de localização usando o ficheiro php.ini, como mostrado nos exemplos abaixo.
Definir a informação local usando o driver SQLSRV
Adicione o seguinte no final do seu ficheiro de php.ini:
[sqlsrv]
sqlsrv.SetLocaleInfo = <option>
Definir a informação local usando o PDO_SQLSRV Driver
Adicione o seguinte no final do seu ficheiro de php.ini:
[pdo_sqlsrv]
pdo_sqlsrv.set_locale_info = <option>
A opção pode ser um dos seguintes valores:
| Opção | Descrição do comportamento |
|---|---|
| 0 | O condutor ignora as definições de localização do sistema. |
| 1 | O driver lê a variável LC_CTYPE. |
| 2 | O driver lê a variável LC_ALL (esta é a predefinida). |
A LC_CTYPE categoria determina as regras de tratamento de caracteres, que regem a interpretação de sequências de bytes de caracteres de dados de texto, a classificação dos caracteres e o comportamento das classes de caracteres. Controla o reconhecimento de maiúsculas e minúsculas, caracteres alfabéticos e não alfabéticos, e assim sucessivamente.
Explanation
Opção 0 -- usa isto quando não quiseres alterar a localização da aplicação.
Opção 1 -- usar isto para definir apenas o valor do sistema de
LC_CTYPEsem afetar as outrasLC_xxxcategorias.Opção 2 — usar
LC_ALLpara substituir todas as categoriasLC_xxx, afetando a aplicação PHP e as suas extensões.
Se a localização de qualquer script php não for igual à do sistema, pode ser necessário especificar a localização no(s) script(s) php chamando a função incorporada setlocale.
Por exemplo, se o padrão do sistema for en_US.UTF-8 mas o script PHP usar de_DE.UTF-8, então chamar a função PHP setlocale() de forma apropriada.
Para a Opção 2, indica a localização desejada nos teus scripts php apenas se for diferente da LC_ALL variável.
Observação
Se nada estiver definido em php.ini, o padrão atual é sobrepor todas as outras definições de localização com base em LC_ALL, que serão descontinuadas. Num futuro próximo, o padrão será ignorar as definições de localização do sistema. Assim, os utilizadores terão de modificar o ficheiro php.ini em conformidade se quiserem manter o comportamento atual.
Se os drivers sqlsrv e pdo_sqlsrv estiverem ativados, não é recomendado definir opções diferentes para os dois drivers.