++彩风音乐游戏社区++

返回   ++彩风音乐游戏社区++ > ≡站务交流≡ > 客服中心
注册账号 论坛设施 团队家族 标记讨论区已读

客服中心 会员投诉,疑难解答,合作申请等相关问题受理

发表新主题 回复
论坛某处显示乱码 及 估计原因和解决方案  
主题工具
旧 2007-02-15, 04:52   #1
HD3_小缘 帅哥
级别:5 | 在线时长:58小时 | 升级还需:2小时级别:5 | 在线时长:58小时 | 升级还需:2小时
纯洁善良的小男生
 
 会员编号: 147244
 注册日期: 07-01
 住址: 广州
 帖子: 135
 精华: 0
 资产: 12290 彩风币
 声望: HD3_小缘 普普通通

论坛某处显示乱码 及 估计原因和解决方案

如图 最后发表 那 帖子最后一个字经常显示为乱码

之前我开发个JSP项目也试过,PHP的不懂不过我想原因应该也差不多

下面我用上次解决该问题的方案来描述下解决方法:


问题描述:最后一个字经常为乱码

问题原因:为了限制内容长度而截取内容的前一部分用于显示,而中文较大,英文较小,如果用CHAR来截取长度,中文显然要比英文长很多,因此当时我用BYTE来截取,但是中文占2byte,因而取的最后一个字节很可能是该中文的第一个字节,丢失了第2个字节从而显示乱码。

解决思路:想办法确定取的最后一字节是不是中文的后一个字节,如果是就取少一个字节,或者取多一个字节。

测试程序:(假设我现在想取15位字节)
public class Testt {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub

String title = "天气很好a,出了太阳.";
String errorTitle = new String ( title.getBytes() , 0 , 15);
String shortTitle = getShortTitle(title);
System.out.println(errorTitle);
System.out.println(shortTitle);
}

public static String getShortTitle (String title)
{
byte[] b = title.getBytes();
String shortTitle1 = new String (b , 0 , 15);//按正常取
String shortTitle2 = new String (b , 0 , 16);//取多一个字节
if (shortTitle1.length() == shortTitle2.length())
//如果正常和取多一个字节所得到的字符数相同,则可以肯定取的最后一个字节为某双字符的前一字节
return new String (b , 0 , 14);//取少一个字节,把14改16取多一字节也行
else
return new String (b , 0 , 15);
//若字符数不相同,则可以肯定最后一字节为单字节字符,或是双字节字符的后一字节
}
}
上传的图像
文件类型: jpg aaaaa.jpg (4.7 KB, 9 次查看) [下载此附件需要消耗5彩风币,下载中会自动扣除。]
HD3_小缘 当前离线   回复时引用此帖
旧 2007-02-15, 15:56   #2
knox
级别:69 | 在线时长:5158小时 | 升级还需:22小时级别:69 | 在线时长:5158小时 | 升级还需:22小时级别:69 | 在线时长:5158小时 | 升级还需:22小时级别:69 | 在线时长:5158小时 | 升级还需:22小时
.
 
knox 的头像
 
 会员编号: 66812
 注册日期: 05-10
 帖子: 33362
 精华: 2
 声望: knox 的声望已禁止显示

个人荣誉
彩风VIP积分奖章1: 使用“爱心积分奖章5”换取本奖章。 - 获奖理由: 6.7参加DJ真人秀 O2Jam段位10: 彩风劲乐团技术等级段位10段水平。 - 获奖理由: Lv30:Sputnik HD=AC690895,Good53 | Lv30:COSMIC RAYS HD=AC1052225,Good44 最佳情侣奖: 因为MG让你们结识,如果你们在现实中成了!请在奖章申请内填写二人的结识经历帖地址申请,结识经历帖地址请发到休闲区的“心情文字”版。 - 获奖理由: 我的情侣:ⅶ DJMAX认证M级: 此勋章是授予挑战MX模式标准成功的玩家。 - 获奖理由: 5.2K-Lv12:FTR MX=99.72% DJMAX认证A级: 此勋章是授予通过A级标准的玩家。 - 获奖理由: 5.2K-Lv12:Phoenix Virus HD=99.53% 
奖章总数: 5|申请奖章
回复: 论坛某处显示乱码 及 估计原因和解决方案

专业问题。闪。。。。。




٩(·̮̃·̃)۶ My Douban ٩(·̮̃·̃)۶
http://bbs.vavay.com/gallery/users/6/6/8/1/2/k.png
knox 当前离线   回复时引用此帖
旧 2007-02-15, 16:17   #3
IQ小子 帅哥
级别:72 | 在线时长:5474小时 | 升级还需:147小时级别:72 | 在线时长:5474小时 | 升级还需:147小时级别:72 | 在线时长:5474小时 | 升级还需:147小时级别:72 | 在线时长:5474小时 | 升级还需:147小时
Plus Seven
 
IQ小子 的头像
 
 会员编号: 49905
 注册日期: 05-07
 住址: 福州格致中学(已毕业)
 帖子: 15107
 精华: 18
 资产: 1386837 彩风币
 声望: IQ小子 的声望已禁止显示

发 QQ 消息给 IQ小子 发送 ICQ 消息给 IQ小子 发送 MSN 消息给 IQ小子 发送 Yahoo! 消息给 IQ小子
个人荣誉
回复: 论坛某处显示乱码 及 估计原因和解决方案

已经是很久的事情了,最后一个字符显示不全变成了乱码,很汗。




http://b.fanfou.com/u/ooblue/m240_2.png
IQ小子 当前离线   回复时引用此帖
发表新主题 回复


当前查看此主题的会员: 1 (0 位会员和 1 位游客)
 
主题工具

发帖规则
不可以发表新主题
不可以回复主题
不可以上传附件
不可以编辑您的帖子

论坛启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码
论坛禁用 Trackbacks
论坛禁用 Pingbacks
论坛禁用 Refbacks

相似的主题
主题 主题作者 讨论区 回复 最后发表
PhotoShop快捷键大全 未了的亚某 彩风图象平台 26 2009-01-21 01:44
[菜鸟集中营][菜鸟队伍名单]++入队报名帖:欢迎大家 音乐菜鸟 [AG.M]神话皇朝 152 2007-09-08 11:33
QQ音速CF战队成员一览。 鸦片果冻 战队版面主题回收站 40 2007-07-08 20:18


所有时间均为北京时间。现在的时间是 11:09