这是去年被困扰的问题,围绕服务端和客户端自己的字符集不一致的问题
安装完Sybase后,很多人在使用isql或程序插入中文数据后发现,查询出的数据是乱码(中文字符全为‘?’),这是因为客户端的字符集和服务端的字符集不一致造成的,Sybase默认安装后默认字符集为:iso_1。通常使用中文字符集在Sybase内是cp936。那么如何设置Sybase的字符集呢?修改方法如下:
以Windows操作系统Sybase15为例:
首先说明察看服务端字符集和客户端字符集的方法:
查看服务器端字符集:
在isql环境中执行:
1>; sp_helpsort
2>; go
查看客户端字符集:
在isql环境中执行:
1>; select @@client_csname
2>; go
修改服务端字符集方法:
假设sybase安装目录为$sybase$
◆1.转到$sybase$\ASE-15_0\bin目录
执行命令:charset -Usa -P binary.srt cp936
◆2.打开isql,执行下面的SQL查询出cp936对应的id
select id , name from syscharsets where name = 'cp936'
go
假设查询结果为171
执行下面语句设定默认字符集
sp_configure 'default char',171 --可能有误,以上面的查询结果为准
go
关闭ASE
shutdown
go
◆3.重新启动sybase服务两次(第一次启动会失败),启动服务。
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
sybase字符集转换
这篇文章是做项目的时候从sybase中国网站上找到的,相当不错,记录下来,以备后用
1. 概念篇
1.1 什么是字符集?
1.1 什么是字符集?
1.2 什么是排序顺序?
1.3 什么是字符集转换?
2. 配置篇
2.1 如何配置字符集的转换类型
2.2 如何配置服务器端缺省字符集
2.3 如何配置客户端缺省字符集
2.4 如何选择ASE字符集使之支持简体中文字符
2.5 如何查看服务器端、客户端字符集
3. 错误处理篇
3.1 为什么会出现字符集转换失败
4. 附:如何安装cp936字符集
1. 概念篇
1.1 什么是字符集?
字符集是字符(包含字母,数字,符号和非打印字符等)以及所指定的内码所组成的特定的集合。通常一个字符集包含一个字母表中的字符,例如拉丁字母表被使用在英语语言中,那么如果要使用拉丁字符,就要配置使用英语语言集中的特定的字符集合――拉丁语言字符集。这里为什么特指了是英语语言集呢?因为字符集是基于某种操作系统平台和某种语言集支持的。语言集的集合被称为语言组,它可能包含一种或多种语言。本地字符集是基于特定语言组中所包含的一种或多种语言支持的,在特定操作系统平台上编码的集合。
在Client/Server系统中,支持多语言的数据处理,但是所有的语言必须属于同一个语言组。例如,从下表可以看出,如果服务器中的数据用组1中的字符集,则同一数据库中可以有法语,德语,英语以及该组中的其它语言。而在这个数据库中就不能同时存储日语,法语了。
这里请注意一个非常特别的字符集—Unicode—它支持世界上超过650种语言的国际字符集。Unicode允许在同一服务器上混合使用不同语言组的不同语言。
表1-1 Adaptive Server支持的语言和字符集
注意:表中所显示的所有字符集,因为任何字符集的前128(十进制)个字符都包含拉丁字母表,所以所有字符集都支持英语。各字符集中前128个字符之外的字符各不相同,用于支持不同的本地语言字符。
1.2 什么是排序顺序?
每种字符集都有一种或多种排序顺序,Adaptive Server使用它们存储数据。排序顺序与特定的语言或语言组及特定的字符集联系密切,不同的语言对同样字符的排序是不同的,因此,需要特定语言的排序顺序,以便正确地对字符进行排序。另外,排序顺序与特定地字符集也密切相关,对于特定字符集可使用的排序顺序位于字符集目录的排序顺序定义的文件中(.srt文件)。
有关字符集及其可用排序顺序的列表,如下所示:
表1-2可用的排序顺序
分享到:
相关推荐
【Sybase数据库教程】 ...总结,Sybase数据库教程涵盖了C/S架构的基础知识,强调了其在数据库管理中的优势,以及Sybase系统的关键组成部分。通过学习,读者将能理解和运用Sybase构建高效、可靠的数据库解决方案。
1. 拷贝 SYBASE 安装程序至要安装的服务器硬盘中 2. 执行 SETUP 安装程序,并选择语言和同意协议 3. 选择典型安装和配置所有的 SERVER 4. 配置主服务和其他服务 5. 修改主设备大小、主数据库大小、系统过程设备大小...
本文将详细介绍如何在Sybase数据库中更换字符集,以解决中文乱码问题。 #### 更换字符集步骤详解 1. **检查当前字符集:** - 使用`Sybase Central`工具连接到`master`数据库。 - 执行查询命令`SELECT id, name ...
### Sybase数据库系统配置优化详解 #### 一、引言 Sybase数据库是企业级数据库管理系统之一,在金融、电信等领域有着广泛的应用。然而,在实际应用过程中,可能会遇到数据库性能缓慢的问题,这往往与系统配置密切...
在实际工作中,使用Rational Robot连接Sybase数据库的应用场景非常广泛,例如: - **自动化测试**:在进行Web应用的功能性测试时,可以通过Rational Robot读取或修改数据库中的数据,验证应用的逻辑是否正确。 - **...
### SYBASE数据库备份还原手册知识点解析 #### 一、SYBASE数据库备份与恢复的重要性 - **备份的意义**:SYBASE数据库备份是确保数据安全的重要手段之一。通过定期备份,可以在数据库遭遇物理损坏(如硬盘故障)、...
BCP 是 Sybase 数据库中的一个重要工具,用于导入和导出数据,但是如果不正确地使用 BCP,可能会出现各种错误和问题。 一、 BCP 错误 在使用 BCP 时,可能会遇到各种错误,例如: * ct_connect():network packet...
描述中提到"网上这个太小众了,共享给大家",暗示jconn3可能不太常见,但对需要连接到Sybase数据库的开发者来说是有价值的资源。 **jconn3详解:** jconn3是SAP公司为Java应用程序提供的一种Sybase数据库连接驱动...
如何远程备份和还原sybase数据库 方法和步骤细则 是我工作的总结
### Sybase数据库备份方案知识点详解 #### 一、概要:数据备份的重要性 在现代信息系统中,数据被视为企业的核心资产之一。确保数据的安全性和完整性对于维护业务连续性和稳定性至关重要。在Sybase数据库环境下,...
5. sp_helpdb存储过程:sp_helpdb是Sybase数据库中的系统存储过程,用于获取数据库的详细信息。管理员在规划备份策略时,可以使用该存储过程来获取数据库的大小、位置和状态等信息,以便更好地安排备份计划。 6. sp...
3. 查看 master 数据库中的 syscharsets 表,检查字符集是否已经安装成功。 4. 在 Sybase 的属性中,设置系统字符集为 CP936。 六、总结 Sybase 数据库的还原过程相对复杂,需要准备好备份文件,创建数据库驱动和...
**SYBASE数据库日志详解** SYBASE SQL Server数据库系统依赖于事务日志来跟踪和确保数据的完整性和一致性。事务日志是数据库的关键组件,它记录了所有改变数据库状态的操作,这对于恢复和故障排查至关重要。本文将...
总结起来,创建SYBASE数据库涉及安装配置环境、编写SQL脚本创建数据库、设置用户权限、定义表结构和索引、以及制定备份恢复策略。这个过程需要对数据库管理和SQL语言有深入的理解,同时也需要根据业务需求灵活调整。...
在IT领域,数据库调优是一项至关重要的工作,特别是对于Sybase Adaptive Server Enterprise (ASE) 12.5这样的企业级数据库管理系统而言。调优的目标是为了提高数据库的性能,确保系统在处理大量数据请求时能够保持...
例如,在C#应用程序中连接Sybase数据库进行数据查询时,如果Sybase数据库中的中文字符采用的是GBK编码,而C#应用程序默认使用的是UTF-8编码,那么查询结果中的中文字符就会显示为乱码。 ### 二、解决方案 针对C#...
标题“sqlDbx 连接Sybase数据库”指的是使用sqlDbx工具来连接到Sybase数据库,这在数据库管理和开发过程中是非常常见的操作。sqlDbx是一款功能强大的SQL客户端,它支持多种数据库系统,包括Sybase的ASE(Adaptive ...
《Sybase数据库系统管理指南》是一本专注于 Sybase 数据库管理系统运维与优化的专业书籍。Sybase 是一款功能强大的关系型数据库管理系统,广泛应用于金融、电信、制造业等领域,因其高效、稳定和安全的特性受到业界...
Sybase Adaptive Server Enterprise(ASE),简称Sybase数据库,是企业级的关系型数据库管理系统,以其高性能和稳定性著称。在本文中,我们将深入探讨如何进行Sybase ASE 12.5数据库的4k安装,以充分利用其优势。 ...
运行DDL语句将导致在Oracle数据库中创建对象。 六、迁移数据 迁移数据流程的最后一步是迁移数据。你可以用两种方法中的一种:在线数据移动和离线数据移动。在线数据移动可以从Oracle SQL Developer内部创建到您的...