php - PDO 和 MSSQL,如何设置 utf8 字符集?
问题描述
我在 MSSQL 数据库上使用 PHP,有时我需要为 Intranet 导入一些 SQL 查询。
SQL 查询保存在 .sql 文件中,很简单,例如
INSERT INTO table VALUES ('Do this and that');
INSERT INTO table VALUES ('This has 10% or 20€ discount');
问题是有时导入会由于不支持的字符(% 和 €)而中断。我尝试将连接设置为使用 UTF-8,但它仍然无法正常工作......我猜我使用的方法有问题:
$connExchange = new PDO('dblib:version=7.0;charset=UTF-8;host=' . $host . ';dbname=' . $db, $user, $pass);
$connExchange->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
如何设置连接以使用正确的集合?
我正在使用来自 ubuntu 16.04 存储库的 php7.0.30。
MSSQL 数据库正在使用SQL_Latin1_General_CP1_CI_AS
.
解决方案
推荐阅读
- regex - 如何在不是单元格引用的 Google 表格公式的所有部分周围加上引号
- python - 如何在没有混乱代码的情况下更新类的特定参数?
- javascript - 如何在 Electron 中使用 Parcel 捆绑 javascript?
- python - 如何制作单个边界框
- javascript - jQuery:在不触发点击事件的情况下完成拖动
- aws-lambda - 从 CI/CD 管道部署单个 Lambda 函数
- android - 通过电话和 Firebase ID 连接
- amazon-s3 - 创建 React 应用程序 - 路由器路径不服务于 javascript
- c# - 在 C# 中处理大型表单级对象的正确和最快方法
- r - DT with Shiny:多页可编辑数据表在编辑后跳转到第一页