我的目的是要把汉字转换为拼音
我把要转换为拼音的字符用记事本以UTF-8的编码形式保存
然后以文件的形式用java去读
然后我们看看结果吧
为什么??我的拼音怎么没有转换出来,而且还报错了,更可恶的还是空指针错,没道理呀,值不是传上去了吗
好吧,给我的第一个感觉就是我的字符串可能出现空格字符啥的,然后我就去去空格
String str=strArray[0];
str.trim();
不行没有成功,还是报错,难道是去空格的方法有问题??又换一种!
String str=strArray[0];
System.out.println(str.replaceAll("\\s*", ""));
这时候我有点郁闷了,怎么还是不行,我就想可能是我的编码有问题吧,再接受的时候再转一次编码吧
String str=strArray[0].trim();
String newstr = new String(str.getBytes(),"UTF-8");
这会有点难受了,我就想可能是转拼音的方法写错了吧,我再试一下我的拼音方法
public void hbaseTest(){
System.out.println(ToPinyin("马克"));
}
没问题呀,方法没错呀,到底错在哪儿了呢,好吧,只能用debug模式追踪一下了
这会有点惊呆了,怎么多了一个逗号,\uFEFF 是啥玩意,让后就百度吧,还好,度一下就出来了,就是他妈BOM头惹得祸
然后我把我的文件用notepad++打开,以UTF-8无BOM格式编码保存
再次运行吧,好使了,可怜我折腾了将近2个半点呀,头都大了