sql >> Databáze >  >> RDS >> Sqlserver

PHP + SQL Server - Jak nastavit znakovou sadu pro připojení?

Znaková sada klienta je nezbytná, ale nestačí:

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

Dva dny jsem hledal, jak vložit data UTF-8 (z webových formulářů) do MSSQL 2008 přes PHP. Všude čtu, že nemůžete, musíte nejprve převést na UCS2 (jak doporučuje řešení cypher). Na Windows SQLSRV řekl, že je to dobré řešení, což jsem nemohl vyzkoušet, protože vyvíjím na Mac OSX.

Manuál FreeTDS (co PHP mssql používá na OSX) však říká přidat písmeno "N" před úvodní uvozovku:

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

Podle této diskuze znak N říká serveru, aby převedl na Unicode.https://softwareengineering.stackexchange.com/questions/155859/why-do-we-need-to-put-n-before-strings-in-microsoft -sql-server



  1. Jak UNION funguje v PostgreSQL

  2. Jak začít s Amazon ECS a Amazon Fargate

  3. java.sql.SQLException Index parametru je mimo rozsah (1> počet parametrů, což je 0)

  4. Existuje způsob, jak vynutit, aby OracleCommand.BindByName byl ve výchozím nastavení pro ODP.NET pravdivý?