【问题标题】:Character mapping issue .NET-Informix字符映射问题.NET-Informix
【发布时间】:2019-02-18 09:23:30
【问题描述】:

当我从服务器中的数据库中检索数据时,我遇到了一个非常奇怪的问题,但被误读了。 原来的消息是: Avería resuelta Le comunicamos que la avería registrada en la dirección #DIRECCION# ha sido cerrada #FECHAHORAFIN#.

我们在服务器上得到的消息是这样的: Aver¡a resuelta Le comunicamos que la aver¡a registrada en la direcci¢n #DIRECCION# ha sido cerrada #FECHAHORAFIN#.

我们在消息中有特殊的 latin-1 字符,我们在连接字符串中指定如下字符集db_locale=es_es.cp1252; client_locale=es_es.cp1252

奇怪的是,当我从本地机器执行(控制台)应用程序时,它执行得很好,但是当我从服务器执行它时,它不能很好地识别字符。

服务器是 Windows Server 2003,我的本地机器是 Windows 10。

提前致谢。

编辑:这个查询SELECT tabname, site FROM systables WHERE tabid IN ( 90, 91 );正在抛出的值如下:

tabname site GL_COLLATE es_ES.1252 GL_CTYPE es_ES.1252

【问题讨论】:

  • 您的数据库的语言环境是什么?您可以在您的数据库上发布以下查询的结果吗? SELECT tabname, site FROM systables WHERE tabid IN ( 90, 91 );.
  • 在主要问题中回答了问题。感谢@Luis 的帮助。

标签: .net informix windows-server-2003


【解决方案1】:

解决方案是使用当前区域性设置本地化应用程序

System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.CreateSpecificCulture("es-ES");

【讨论】:

    猜你喜欢
    • 2011-01-15
    • 2012-06-04
    • 2013-10-20
    • 1970-01-01
    • 1970-01-01
    • 2018-08-06
    • 2013-09-18
    • 2018-03-10
    • 2020-09-04
    相关资源
    最近更新 更多