我使用ORM Propel与来自Zend Framework Web应用程序的Sybase ASE 15.7数据库进行交互。当我做sp_helpsort
我的Sybase服务器似乎在使用Latin-1编码。Propel/Sybase将方格显示为口音
我意识到我的数据库中的重音符号(当我通过像Toad for Sybase这样的客户端连接时正确显示)显示为我网页上的正方形。如果我通过JSON对象传递这些数据,则该字符串完全消失,如果它具有重音符,则该字符串将变为null。所有的JSON对象都设置了UTF-8字符集(返回的内容为application/json;charset=utf-8
)。
我试图通过改变字符集来解决这个问题,并整理我的服务器以UTF-8,现在sp_helpsort
清楚地表明它使用UTF-8:
排序说明
字符集= 190,UTF8 的Unicode 3.1 UTF-8字符集 第2类字符集 排序顺序= 25,对于UTF-16 二进制 二进制排序(返回小号tatus = 0)
我再次尝试,使用新的数据,以确保我不使用前Latin1编码文本,我仍然有同样的问题。
如何通过使用UTF-8设置的JSON对象来确保数据正确恢复并不会受到影响?
非常感谢您的建议。