Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

PHP + SQL Server - Jak ustawić zestaw znaków do połączenia?

Zestaw znaków klienta jest konieczny, ale niewystarczający:

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

Szukałem przez dwa dni, jak wstawić dane UTF-8 (z formularzy internetowych) do MSSQL 2008 przez PHP. Czytam wszędzie, gdzie nie możesz, najpierw musisz przekonwertować do UCS2 (tak jak zaleca rozwiązanie cyphera). W systemie Windows SQLSRV jest uważany za dobre rozwiązanie, którego nie mogłem wypróbować, ponieważ pracuję na Mac OSX.

Jednak podręcznik FreeTDS (którym PHP używa mssql w OSX) mówi, aby dodać literę "N" przed cytatem otwierającym:

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

Zgodnie z tą dyskusją, znak N mówi serwerowi, aby przekonwertował na Unicode.https://softwareengineering.stackexchange.com/questions/155859/why-do-we-need-to-put-n-before-strings-in-microsoft -sql-serwer



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Podzapytanie programu SQL Server zwróciło więcej niż 1 wartość. Nie jest to dozwolone, gdy podzapytanie następuje po =, !=, <, <=,>,>=

  2. Jak wstawić ciąg do innego ciągu w SQL Server za pomocą STUFF()

  3. Pobieranie wartości zwracanej z procedury składowanej w C#

  4. Jak zaktualizować statystyki programu SQL Server dla dużych tabel

  5. Rozwiązania DevOps do automatyzacji tworzenia baz danych