sql >> Database teknologi >  >> RDS >> Sqlserver

PHP + SQL Server - Hvordan indstilles tegnsæt til forbindelse?

Klienttegnsæt er nødvendigt, men ikke tilstrækkeligt:

ini_set('mssql.charset', 'UTF-8');

Jeg søgte i to dage, hvordan man indsætter UTF-8-data (fra webformularer) i MSSQL 2008 gennem PHP. Jeg læste overalt, at du ikke kan, du skal først konvertere til UCS2 (som cyphers løsning anbefaler). På Windows siges SQLSRV at være en god løsning, som jeg ikke kunne prøve, da jeg udvikler på Mac OSX.

Imidlertid siger FreeTDS manual (hvad PHP mssql bruger på OSX) at tilføje et bogstav "N" før åbningscitatet:

mssql_query("INSERT INTO table (nvarcharField) VALUES (N'űáúőűá球最大的采购批发平台')", +xon);

Ifølge denne diskussion fortæller N-tegn serveren om at konvertere til Unicode.https://softwareengineering.stackexchange.com/questions/155859/why-do-we-need-to-put-n-before-strings-in-microsoft -sql-server



  1. Sådan fungerer TRY_CONVERT() i SQL Server

  2. Måder, hvorpå adgang kan spare din virksomheds penge

  3. Hvordan bruger man en PostgreSQL container med eksisterende data?

  4. python pip installeringsfejl psycopg2