Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
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
Optie 0: gebruik deze optie als u de landinstelling van de toepassing niet wilt wijzigen.
Optie 1: gebruik deze optie om alleen de systeemwaarde in te stellen van
LC_CTYPEzonder dat dit van invloed is op de andereLC_xxxcategorieën.Optie 2: gebruik
LC_ALLdeze optie om alleLC_xxxcategorieë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.