Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Det här avsnittet gäller endast för Linux- och macOS-användare, särskilt de som hanterar mer än ett språk i sina php-program.
Som standard tar Microsoft Drivers för PHP för SQL Server miljövariabeln LC_ALL som definierats i systemet och åsidosätter alla andra LC_xxx kategorier (kanske utom $LANG eller $LANGUAGE under vissa omständigheter), vilket påverkar tusentalsavgränsaren, decimaltecknet, teckenuppsättningen, månad, dagnamn, programmeddelanden som felmeddelanden, valutasymbol osv.
Från och med version 5.8.0 kan användarna konfigurera inställningarna för lokalisering med hjälp av filen php.ini, enligt exemplen nedan.
Ange språkinformation med hjälp av SQLSRV-drivrutinen
Lägg till följande i slutet av din php.ini-fil:
[sqlsrv]
sqlsrv.SetLocaleInfo = <option>
Ange språkinformation med hjälp av PDO_SQLSRV-drivrutinen
Lägg till följande i slutet av din php.ini-fil:
[pdo_sqlsrv]
pdo_sqlsrv.set_locale_info = <option>
Alternativet kan vara något av följande värden:
| Option | Beskrivning av beteende |
|---|---|
| 0 | Drivrutinen ignorerar systemets lokala inställningar. |
| 1 | Drivrutinen läser variabeln LC_CTYPE. |
| 2 | Drivrutinen läser variabeln LC_ALL (detta är standardvärdet). |
Kategorin LC_CTYPE bestämmer regler för teckenhantering, som styr tolkningen av sekvenser av byte av textdatatecken, klassificering av tecken och beteendet för teckenklasser. Den styr igenkänning av versaler och gemener, alfabetiska och icke-alfabetiska tecken och så vidare.
Explanation
Alternativ 0 – använd detta när du inte vill ändra programmiljön.
Alternativ 1 – använd detta för att endast ange systemvärdet
LC_CTYPEför utan att påverka de andraLC_xxxkategorierna.Alternativ 2 – använd
LC_ALLför att åsidosätta allaLC_xxxkategorier, vilket påverkar php-programmet och dess tillägg.
Om språkvarianten för php-skript inte är samma som systemskripten kan du behöva ange språkvarianten i php-skripten genom att anropa den inbyggda php-funktionen setlocale.
Om systemstandarden till exempel är en_US.UTF-8 men php-skriptet använder de_DE.UTF-8anropar du php-funktionen setlocale() på rätt sätt.
För Alternativ 2 anger du önskat språk i php-skripten endast om det skiljer sig från variabeln LC_ALL .
Anmärkning
Om ingenting har definierats i php.iniär den aktuella standardinställningen att åsidosätta alla andra nationella inställningar baserat på LC_ALL, som kommer att vara inaktuella. Inom en snar framtid kommer standarden att vara att ignorera systeminställningarna för språk. Användarna måste därför ändra php.ini-filen om de vill behålla det aktuella beteendet.
Om både sqlsrv- och pdo_sqlsrv drivrutiner är aktiverade rekommenderar vi inte att du anger olika alternativ för de två drivrutinerna.