oracle - Oracle编码可以在连接字符串中设置吗?

标签 oracle encoding connection-string

我的测试数据库具有 AL32UTF8 编码,但生产数据库具有 WE8ISO8859P1 编码。我的应用程序是用 .NET 编写的,我使用默认的 System.Data.OracleClient.OracleConnection 类来建立连接。

当我想要插入一些带有非 ASCII 符号的字符串时,我创建一个 IDbCommand 并添加 IDbDataParameter 对象。

在测试数据库上一切运行良好,显然将 .NET 的内部字符串格式转换为 AL32UTF8 运行良好。然而在生产上我就是不工作。 .NET 内部字符串表示形式(utf16)无法以某种方式转换为 WE8ISO8859P1。

我的问题: 您可以在连接字符串中指定数据库的编码吗?或者是否有另一种方法来告诉驱动程序(System.Data.OracleClient.OracleConnection)数据库需要特定的编码?

最佳答案

只要您不使用无法在 WE8ISO8859P1 中表示的字符,转换就会自动发生。如果你有这样的字符,无论如何你都无法将其存储在数据库中。

如果您尝试存储欧元符号 (€),您将不走运。它不是 WE8ISO8859P1 的一部分。

关于oracle - Oracle编码可以在连接字符串中设置吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3913746/

相关文章:

java - AES javascript加密和Java解密

encoding - 为什么base64编码的字符串末尾有=号

c# - 安装时如何指定sql server的连接字符串

sql - oracle中如何添加长度为5000的列

regex - 如何在oracle中提取字符串的特定部分?

oracle - Oracle 是否有等效于 SQL Server 的表变量?

c# - SQL Server 的连接字符串(本地数据库)

mysql - SQL IN 查询近似值

c# - XamlReader 和变音符号

sql-server - 如何在没有 DSN 的情况下连接到 ColdFusion 7 中的 SQL Server?