如何更改服务器字符集?

How do I change the server character set?

我想测试我的代码在客户端和服务器上的单字节和多字节字符集组合上是否运行良好。虽然我了解如何在客户端更改它(使用 NLS_CHAR 或 NLS_LANG 并确保转换是可能的),但我如何在服务器端进行更改?

无论您使用何种版本的 Oracle,全球化支持指南都会有一章介绍 changing the character set of an existing database。然而,这通常不是一项微不足道的努力。我不会考虑将其作为测试的一部分。

实际上,如果您想测试您的代码在不同数据库字符集下的表现,最好使用不同的数据库字符集创建多个数据库(可能每个都在单独的服务器/虚拟机上),然后 运行 依次在每个数据库上测试套件。