Share via


Instellingen voor niet-systeemlokales

PHP-stuurprogramma downloaden

Deze sectie is alleen van toepassing op Linux- en macOS-gebruikers, met name voor gebruikers met meer dan één landinstelling in hun php-toepassingen.

Microsoft-stuurprogramma's voor PHP voor SQL Server gebruiken standaard de LC_ALL omgevingsvariabele die in het systeem is gedefinieerd en overschrijft alle andere LC_xxx categorieën (mogelijk behalve $LANG of $LANGUAGE onder bepaalde omstandigheden), die van invloed zijn op het scheidingsteken voor duizendtallen, decimale punten, tekenset, maand, dagnamen, toepassingsberichten zoals foutberichten, valutasymbool, enzovoort.

Vanaf versie 5.8.0 kunnen gebruikers de lokalisatie-instellingen configureren met behulp van het php.ini-bestand, zoals wordt weergegeven in de onderstaande voorbeelden.

Landinstellingen instellen met behulp van het SQLSRV-stuurprogramma

Voeg het volgende toe aan het einde van het php.ini-bestand:

[sqlsrv]  
sqlsrv.SetLocaleInfo = <option>

Landinstellingen instellen met behulp van het PDO_SQLSRV-stuurprogramma

Voeg het volgende toe aan het einde van het php.ini-bestand:

[pdo_sqlsrv]  
pdo_sqlsrv.set_locale_info = <option>

De optie kan een van de volgende waarden zijn:

Optie Beschrijving van gedrag
0 Het stuurprogramma negeert de landinstellingen van het systeem.
1 Het stuurprogramma leest de LC_CTYPE variabele.
2 Het stuurprogramma leest de LC_ALL variabele (dit is de standaardvariabele).

De LC_CTYPE categorie bepaalt regels voor het verwerken van tekens, die de interpretatie bepalen van reeksen van bytes aan tekstgegevenstekens, de classificatie van tekens en het gedrag van tekenklassen. Het bepaalt de herkenning van hoofdletters en kleine letters, alfabetische en niet-alfabetische tekens, enzovoort.

Explanation

  1. Optie 0: gebruik deze optie als u de landinstelling van de toepassing niet wilt wijzigen.

  2. Optie 1: gebruik deze optie om alleen de systeemwaarde in te stellen van LC_CTYPE zonder dat dit van invloed is op de andere LC_xxx categorieën.

  3. Optie 2: gebruik LC_ALL deze optie om alle LC_xxx categorieën te overschrijven, wat van invloed is op de php-toepassing en de bijbehorende extensies.

Als de landinstelling voor een php-script niet hetzelfde is als de systeemscripts, moet u mogelijk de landinstelling opgeven in de php-script(s) door de ingebouwde php-functiesetlocale aan te roepen.

Als de systeemstandaard bijvoorbeeld is en_US.UTF-8 maar het php-script gebruikt de_DE.UTF-8, roept u de php-functie setlocale() op de juiste manier aan.

Geef voor optie 2 de gewenste landinstelling in uw PHP-scripts alleen op als deze verschilt van de LC_ALL variabele.

Opmerking

Als er niets is gedefinieerd in php.ini, is de huidige standaard om alle andere landinstellingen te overschrijven op basis van LC_ALL, wat verouderd verklaard zal worden. In de nabije toekomst wordt de standaardinstelling om de landinstellingen van het systeem te negeren. Daarom moeten gebruikers het php.ini-bestand dienovereenkomstig wijzigen als ze het huidige gedrag willen behouden.

Als zowel sqlsrv- als pdo_sqlsrv-stuurprogramma's zijn ingeschakeld, wordt het instellen van verschillende opties voor de twee stuurprogramma's niet aanbevolen.