public class Test {
public static void main(String[] args) {
System.out.println("这是一个破折号:—"); }}输出信息如下:这是一个破折号:?怎么样就能使它认识全角的"-".

解决方案 »

  1.   

    用UNICODE输出来, 
    可以查找以下native2ascii 这个命令,把破折号转换一下
      

  2.   

    /**  * 半角转全角  * @param input String.  * @return 全角字符串.  */  public static String ToSBC(String input) {  char c[] = input.toCharArray();  for ( int i = 0 ; i < c.length; i ) {  if (c[i] == ' ' ) {  c[i] = ' \u3000 ' ;  } else if (c[i] < ' \177 ' ) {  c[i] = ( char ) (c[i] 65248 );  }  }  return new String(c);  }  /**  * 全角转半角  * @param input String.  * @return 半角字符串  */  public static String ToDBC(String input) {  char c[] = input.toCharArray();  for ( int i = 0 ; i < c.length; i ) {  if (c[i] == ' \u3000 ' ) {  c[i] = ' ' ;  } else if (c[i] > ' \uFF00 ' && c[i] < ' \uFF5F ' ) {  c[i] = ( char ) (c[i] - 65248 );  }  }  String returnString = new String(c);  return returnString;  }
      

  3.   

    [sms@sms2 OracletoSQL]$ vi text.txt
    ---
    [sms@sms2 OracletoSQL]$ more text.txt
    ---
    这系统认识"-"啊,怎么用JAVA取出来就不认识了.
      

  4.   

    System.out.println("\u8fd9\u662f\u4e00\u4e2a\u7834\u6298\u53f7\uff1a\u2014");
      

  5.   

    谢谢java_cxrs和eimhee的解答,我先去试一下。
      

  6.   

    看下你的系统环境变量,Locale是否是zh_CN啊。