sql >> Base de Datos >  >> RDS >> Sqlserver

PHP + SQL Server - ¿Cómo configurar el juego de caracteres para la conexión?

El conjunto de caracteres del cliente es necesario pero no suficiente:

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

Busqué durante dos días cómo insertar datos UTF-8 (desde formularios web) en MSSQL 2008 a través de PHP. Leí en todas partes que no puede, primero debe convertir a UCS2 (como recomienda la solución de cypher). En Windows, se dice que SQLSRV es una buena solución, que no pude probar, ya que estoy desarrollando en Mac OSX.

Sin embargo, el manual de FreeTDS (lo que usa PHP mssql en OSX) dice que agregue una letra "N" antes de la comilla de apertura:

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

Según esta discusión, el carácter N le dice al servidor que se convierta a Unicode. https://softwareengineering.stackexchange.com/questions/155859/why-do-we-need-to-put-n-before-strings-in-microsoft -sql-servidor