当表默认使用iso_1时,正确显示utf8字符

2020-08-24 07:07发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我们的应用程序供应商Murex要求将字符集设置为iso_1。 但是在应用程序中,所有字符都设置为utf8。 这导致变音符号以两个字节字符显示在数据库中,而在iso_1中将是一个字节字符。 例如。 Köln在dbisql中显示为Köln,München显示为MÃnnchen。 dbisql中是否有可用的设置,或者我可以在ASE上更改会话的任何设置以使变音符再次正确显示吗?

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我们的应用程序供应商Murex要求将字符集设置为iso_1。 但是在应用程序中,所有字符都设置为utf8。 这导致变音符号以两个字节字符显示在数据库中,而在iso_1中将是一个字节字符。 例如。 Köln在dbisql中显示为Köln,München显示为MÃnnchen。 dbisql中是否有可用的设置,或者我可以在ASE上更改会话的任何设置以使变音符再次正确显示吗?

付费偷看设置
发送
2条回答
粗暴的香蕉
1楼-- · 2020-08-24 07:44

这两个链接可能会对您有所帮助。

首先是关于dbisql命令行选项

第二个是使用适合您要求的特定字符集。

Link1:使用dbisql命令行实用程序打开Interactive SQL

http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.infocenter.dc00168.1510/html/iqutil/BABHEBGF.htm

Link2:CharSet连接参数[CS]

http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.infocenter.dc00170.1510/html/iqapgv1/X201287.htm

这些指的是IQ,但我认为也应适用于ASE:-)

Avinash

我是小鹏鹏啊
2楼-- · 2020-08-24 07:35

嗨,

从技术上讲,这正在破坏数据库。
您正在将utf8字符插入到iso_1数据库中。
这意味着当客户端进入读取数据时,它将尝试将数据转换为该客户端字符集。 ASE无法正确读取字节(由于数据不是它认为的格式),它可能通过错误地转换数据来破坏数据。 仅当您明确告诉ASE不要转换信息(客户端字符集= ASE字符集)时,这才正确显示。 然后告诉客户端显示数据所在的实际字符集。

示例:

  • 打开cmd提示
  • chcp
    活动代码页:437
  • isql -Usa -Ppassword -Sasehost:aseport -Jiso_1
    1>创建表mytable(c1 int,c2 varchar(50))
    2> go
    1>插入mytable值(1, 0x4DC3BC6E6368656E)
    2>转到
    (受影响的1行)
  • 0x4DC3BC6E6368656E =慕尼黑的utf8
  • 1>从mytable中选择* <2>转到
    c1 c2
    ----------- ---------------- ----------------------------------
    1M├╝nchen
    (影响1行)
  • chcp 65001
    活动代码页:65001
  • isql-美国-Ppassword -Sasehost:aseport -Jiso_1
  • 1>从mytable中选择* <2>转到
    c1 c2
    ----------- ---------------- ----------------------------------
    1慕尼黑(受影响的1行)

我在dbisql gui中看不到执行此操作的方法。 选项-codepage仅指定用于导入或导出文件。 根据我对utf8 ASE和utf8客户端字符集的测试,此显示正确。 我相信这是因为dbisql设置了代码页=连接的字符集。
这可能是用于指定显示的代码页的新功能。

也许上述内容可能对dbisql cmd提示符或其他应用程序有帮助。

关于
Ryan,
类似信息:
https://launchpad.support.sap.com/#/notes/2543434

一周热门 更多>