sql >> Database >  >> RDS >> Sqlserver

PHP + SQL Server - Hoe tekenset instellen voor verbinding?

Client-tekenset is noodzakelijk, maar niet voldoende:

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

Ik heb twee dagen gezocht naar het invoegen van UTF-8-gegevens (van webformulieren) in MSSQL 2008 via PHP. Ik lees overal dat je dat niet kunt, je moet eerst naar UCS2 converteren (zoals de oplossing van cypher aanbeveelt). Op Windows zei SQLSRV dat het een goede oplossing was, wat ik niet kon proberen, aangezien ik aan het ontwikkelen ben op Mac OSX.

De FreeTDS-handleiding (wat PHP mssql gebruikt op OSX) zegt echter om een ​​letter "N" toe te voegen vóór het openingscitaat:

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

Volgens deze discussie vertelt het N-teken de server om te converteren naar Unicode.https://softwareengineering.stackexchange.com/questions/155859/why-do-we-need-to-put-n-before-strings-in-microsoft -sql-server



  1. SQLite JSON_INSERT()

  2. mysql_fetch_array, mysql_fetch_assoc, mysql_fetch_object

  3. Inhuren of aangenomen worden:een gegevensmodel voor het wervingsproces

  4. Impact van de query_post_execution_showplan Extended Event in SQL Server 2012