【发布时间】:2017-11-29 10:04:54
【问题描述】:
我有一个基于 PHP 和 PostgreSQL(基于 Laravel 构建)的 Web 应用程序。 Web 应用程序 PostgreSQL 数据库使用 UTF-8 编码。有一次,我必须将数据传递到托管在另一台服务器上的外部 MS SQL Server 数据库。它可以工作,但是,MS SQL Server 数据库中的文本数据部分混乱且不可读,尤其是在涉及特殊字符的情况下。 MS SQL Server 系统管理员告诉我它使用 2 字节的 Unicode 编码。我想我应该相应地转换。
问题 - 如何在将数据写入 MS SQL Server 数据库之前正确使用此编码和编码数据?
【问题讨论】:
-
你应该使用
nvarchar而不是varchar -
在插入时使用 N 进行 unicode 编码。像这样
INSERT INTO table (textcolumn1, intcolumn1) VALUES (N'unicodé string', 1) -
@JacobH,最好使用参数而不是字符串文字
-
@MikhailLobanov 观点没有改变。
-
@Deez 发布您的代码和表定义
标签: php sql-server postgresql unicode encoding