楼主: jeffli73

[精华] Oracle数据库字符集问题解析

[复制链接]
论坛徽章:
5
ITPUB元老
日期:2005-05-19 18:47:53操作系统板块每日发贴之星
日期:2005-05-25 01:01:46授权会员
日期:2005-10-30 17:05:33会员2006贡献徽章
日期:2006-04-17 13:46:342010新春纪念徽章
日期:2010-03-01 11:19:07
发表于 2004-10-19 08:46 | 显示全部楼层
寫得8錯的說。看了有心得

使用道具 举报

回复
论坛徽章:
46
托尼托尼·乔巴
日期:2017-01-03 11:47:42喜羊羊
日期:2015-03-10 14:01:432015年新春福章
日期:2015-03-06 11:57:31沸羊羊
日期:2015-03-04 14:43:43马上有房
日期:2014-12-29 13:45:35马上有车
日期:2014-02-18 16:41:112014年新春福章
日期:2014-02-18 16:41:11夏利
日期:2014-01-28 09:42:56雪铁龙
日期:2013-10-09 13:33:15秀才
日期:2016-01-21 13:37:04
发表于 2004-10-19 11:34 | 显示全部楼层
这对数据库开发有更深刻的认识,谢谢楼主

使用道具 举报

回复
招聘 : 数据库管理员
论坛徽章:
66
ITPUB元老
日期:2005-07-16 18:49:11授权会员
日期:2005-10-30 17:05:33ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44现任管理团队成员
日期:2011-05-07 01:45:08版主3段
日期:2012-05-15 15:24:11
发表于 2004-10-20 17:19 | 显示全部楼层
呵呵,偶公司所有的数据库都是us7ascii,开发人员是必须接受的。

使用道具 举报

回复
论坛徽章:
0
发表于 2004-10-21 10:18 | 显示全部楼层
经典,大力支持!!!

使用道具 举报

回复
论坛徽章:
0
发表于 2004-10-21 15:39 | 显示全部楼层

解决了我的苦恼

使用道具 举报

回复
论坛徽章:
0
发表于 2004-10-21 17:55 | 显示全部楼层

请教:字符集问题

服务器端:select * from props$ where name='NLS_CHARACTERSET'
查出是ZHS16CGB231280
客户端:american_america.ZHS16CGB231280
用PLSQL工具inset into test values('岑啟福')
select * from test 只能显示'岑啟'两字
且有List index out of bounds(1)的错误提示
请指教,谢谢!
也将客户端设过:
SIMPLIFIED CHINESE_CHINA.ZHS16CGB231280
AMERICAN_AMERICA.ZHS16GBK
均未果

使用道具 举报

回复
论坛徽章:
3
授权会员
日期:2005-10-30 17:05:33ITPUB技术丛书作者
日期:2010-09-26 15:24:56优秀写手
日期:2014-02-13 06:00:15
 楼主| 发表于 2004-10-21 23:08 | 显示全部楼层

怎么感觉不是字符集的问题

请将TEST的定义(DESC的结果)及在SQL*PLUS操作的过程贴出来

使用道具 举报

回复
论坛徽章:
1
ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44
发表于 2004-10-22 02:30 | 显示全部楼层
问个问题:我们单位一直用 : WE8ISO8859P1 字符集显示汉字,都好几年了,一直没问题,是不是数据库中存有中文字就必须用:ZHS16CGB231280 ,用 WE8ISO8859P1  就不行??

使用道具 举报

回复
论坛徽章:
3
授权会员
日期:2005-10-30 17:05:33ITPUB技术丛书作者
日期:2010-09-26 15:24:56优秀写手
日期:2014-02-13 06:00:15
 楼主| 发表于 2004-10-22 10:35 | 显示全部楼层

你的问题与"实验结果分析一"中的情况一样

WE8ISO8859P1本质上是一个8位的西文字符集(往往在UNIX环境下ORACLE建库时缺省的字符集),只定义了256个符号,所以从原理上说让它存储中文是不合适的,虽然如果客户端也设置成WE8ISO8859P1,往往能够正确存储与显示,但在使用和维护中可能会出现麻烦.

使用道具 举报

回复
论坛徽章:
8
ITPUB元老
日期:2005-09-04 16:00:38授权会员
日期:2005-10-30 17:05:33会员2006贡献徽章
日期:2006-04-17 13:46:342010新春纪念徽章
日期:2010-03-01 11:19:07ITPUB十周年纪念徽章
日期:2011-11-01 16:19:412014年新春福章
日期:2014-02-18 16:41:11马上有车
日期:2014-02-18 16:41:11
发表于 2004-10-22 11:33 | 显示全部楼层
最初由 zzffhh 发布
[B]问个问题:我们单位一直用 : WE8ISO8859P1 字符集显示汉字,都好几年了,一直没问题,是不是数据库中存有中文字就必须用:ZHS16CGB231280 ,用 WE8ISO8859P1  就不行?? [/B]


你们客户端的NLS_LANG都专门设置为 WE8ISO8859P1 ?
我知道有的单位的数据库用US7ASCII,当时很奇怪为什么能这样用。

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 
京ICP备09055130号-4  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表