我遇到了严重的字符编码问题.给出一些背景知识:
AMERICAN,WE8ISO8859P1而Unix NLS_LANG 为AMERICAN_AMERICA.WE8ISO8859P1.在业务结束时:ÖZER ?N?AAT TAAHHÜT VE
在我们结束时:ÖZER ÝNÞAAT TAAHHÜT VE
如果您注意到土耳其字符?并且?正在转换为ISO 8859-1字符集.但是,所有设置(db和unix中的NLS参数)在两端都是相同的ISO8859-1(西欧)
通过一些研究,我可以理解 - 土耳其机器可以通过实时转换显示土耳其数据(DB NLS设置被本地NLS设置覆盖).
现在,我有一个在我的db中运行的接口 - 有一些PL/SQL脚本(通过shell脚本运行)从数据库中提取一些数据并将它们假脱机到unix路径上的.csv文件.然后通过MFT(托管文件传输)将.csv文件传输到外部系统.
问题是 - Exract永远不会有任何土耳其人的性格.每个土耳其人角色都会被转换成西欧角色,并且像这样对待外部系统,这被视为数据转换/丢失的情况,我的生意真的很不开心.
谁能告诉我 - 我怎么能保留所有土耳其人物?
PS:外部系统的字符集可以设置为ISP8859-9 charcterset.
提前谢谢了.