首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > PB >

PB乱码解决思路

2012-03-29 
PB乱码CREATE VIEW dbo.V_IteminforASSELECT No_ AS itemno,[Product cycle]AS product_cycle, [BOM Rate]

PB乱码
CREATE VIEW dbo.V_Iteminfor
AS
SELECT No_ AS itemno, [Product cycle] AS product_cycle, [BOM Rate] AS bom_rate, 
  (CASE [PD1 product type] WHEN '1' THEN N'GP铂扩' WHEN '2' THEN N'GP非铂扩' WHEN
  '3' THEN N'3"ASCUT FR' WHEN '4' THEN N'3"ASCUT STD' WHEN 
  '5' THEN N'3"ASCUT浅扩散 ' WHEN '6' THEN N'3"ASCUT深扩散 ' WHEN '7' THEN
  N'3"GPP - TVS' WHEN '8' THEN N'3"SIPOS FR' WHEN '9' THEN N'3"SIPOS STD'
  WHEN '10' THEN N'4"ASCUT STD' WHEN '11' THEN N'4"ASCUT浅扩散' WHEN '12'
  THEN N'4"GPP - EPI' WHEN '13' THEN N'4"GPP - TVS' WHEN '14' THEN N'4"SIPOS STD'
  WHEN '15' THEN N'GPP - EPI' END) AS pd_type
FROM dbo.[Gulf Semi(V080601)$item]
WHERE ([Item Category Code] <> '
  LC - TOOL ') AND 
  ([Item Category Code] NOT LIKE ' MH % ')

转换后是正确的,但是PB读出来中文是乱码
string ls_pdtype
select pd_type into :ls_pdtype from V_Iteminfor where itemno = :ls_itemno;
this.object.pd1type[row] = ls_pdtype

报个messagebox,ls_pdtype的GP铂扩显示GP??

[解决办法]
你用的什么系统?简体还是繁体?如果是简体,去掉N'试试,如果是繁体,汉字请用繁体。
[解决办法]
Sybase 中文乱码解决办法
Sybase 中文乱码是由于默认的编码集为ISO-1 ,在Sybase Central v4.3中中文显示为乱码,将字符集改成CP936或者CP850后,中文乱码解决。

更换字符集方法:

一、打开Sybase Central 连接上数据库,打开master数据库的syscharsets表,查看name列里面有没有CP936数据,如果没有,进入步骤二;如果有,操作步骤三。

 

二、运行 -- CMD 进入DOS窗口命令提示,进入目录 Dsybasecharsetscp936 (这是我的Sybase安装目录),输入命令 charset -Usa -P -S binary.srt cp936

 

三、按步骤一,打开master数据库的syscharsets表,查看name列CP936对应的id应该是171,在左边数据库服务器名上点(我的服务器名为GZLCL)“右键--属性 -- 服务器配置 ”在“显示配置参数”中选择 “Langguages” ,“default character set id填写171 ,“确定” 然后重新启动服务。

 

四、配置locales.dat文件:文件路径为Dsybaselocaleslocales.dat 用记事本打开 找到 “[NT]” 将其默认字符集改为locale = default, us_english, cp936

 

这样在Sybase Central 里面中文乱码就可以解决了。 

热点排行
Bad Request.