存储在String对象中的数据总是用UTF16编码的吗?
我之所以这样问,是因为我的数据库确实以非Unicode存储非英语。我假设数据将是不可读的,因为它是以错误的编码读取的。
谢谢
发布于 2011-05-05 22:30:46
在内部,.NET字符串是UTF16的,是的.但重要的是如何在.NET和数据库之间传输数据。
只要字符可以用Unicode表示,并且驱动程序执行适当的转换,就应该没问题。如果您试图表示无法用Unicode表示的文本,您很可能会遇到一些有趣的行为。
发布于 2011-05-05 22:30:43
是的,.NET字符串总是用UTF16编码的--除了代理项对,这意味着2个字节的字符。
发布于 2011-05-05 22:30:50
.NET字符串始终是Unicode。如果您的数据库是unicode,那么就没有问题,否则您将需要将文本从任何格式转换为unicode。
https://stackoverflow.com/questions/5899393
复制相似问题