sql >> Databasteknik >  >> RDS >> Sqlserver

PHP + SQL Server - Hur ställer man in teckenuppsättning för anslutning?

Klientteckenuppsättning är nödvändig men inte tillräcklig:

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

Jag sökte i två dagar hur man infogar UTF-8-data (från webbformulär) i MSSQL 2008 genom PHP. Jag läste överallt att du inte kan, du måste konvertera till UCS2 först (som cyphers lösning rekommenderar). På Windows sägs SQLSRV vara en bra lösning, vilket jag inte kunde prova, eftersom jag utvecklar på Mac OSX.

FreeTDS manual (vilket PHP mssql använder på OSX) säger dock att man ska lägga till en bokstav "N" före inledande citat:

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

Enligt denna diskussion säger N-tecken åt servern att konvertera till Unicode.https://softwareengineering.stackexchange.com/questions/155859/why-do-we-need-to-put-n-before-strings-in-microsoft -sql-server



  1. Behöver konvertera Oracle Merge till query till PostgreSQL

  2. Hur man kontrollerar om en tabell finns i SQLite

  3. Lista alla sekvenser i en Postgres db 8.1 med SQL

  4. Lagra konfigurationer i Android