系统中部分西班牙语字体显示乱码,显示为问号。如何处理,有人遇到类似的情况吗,谢谢。

解决方案 »

  1.   

    要保证所有语言环境下,字符都能正常显示,用utf-8编码。
      

  2.   

    已经用了utf-8了,只是不是西班牙字体出现问号。
      

  3.   

    java.net.URLDecoder.decode()解码失败, 部分字是?
      

  4.   

    encode的代码写得不对decode就有可能失败。注意看URL字符串中的字节编码。
      

  5.   

     在用命令进行转换时要加上encode及对应的字节编码来转换
      

  6.   


    String str2=java.net.URLDecoder.decode(str,"UTF-8");解码失败, 部分字是?
      

  7.   

     URL字符串中的字节编码 是正确的。我用PHP的解码函数就能解码出来,但是用JAVA这个方法就解码不出来。部分字符变成问好。
      

  8.   

    字符哪儿来的? 从文件读取的?
    检查一下是否从String 转Byte 的时候getBytes(charset),charset没有赋值,或者倒过来
      

  9.   

    是从人家的API取得的。同样的结果字符串PHP能解码,都是JAVA这个解不了。奇怪。
      

  10.   

    EMAIL=j_r_d_g%40sapo%2ept&PAYERID=UTNRJGSKHVUPW&PAYERSTATUS=unverified&COUNTRYCODE=PT&SHIPTONAME=JOS%c3%89%20RUI%20DANTAS%20GON%c3%87ALVES&SHIPTOSTREET=BAIRRO%20DE%20FALC%c3%83O%20BLOCO%205&SHIPTOSTREET2=ENTRADA%20126%20CASA%2021&SHIPTOCITY=PORTO&SHIPTOSTATE=PORTUGUES%20%2f%20CAMPANH%c3%83&SHIPTOCOUNTRYCODE=PT&SHIPTOCOUNTRYNAME=Portugal&SHIPTOZIP=4300%2d098&ADDRESSOWNER=PayPal&ADDRESSSTATUS=Unconfirmed&SALESTAX=0%2e00&SHIPAMOUNT=13%2e98&SHIPHANDLEAMOUNT=0%2e00&INSURANCEAMOUNT=0%2e00&SUBJECT=SD%20SDHC%20MMC%20to%202%2e5%2044%20Pin%20IDE%20Male%20Adapter%20Converter&BUYERID=josrui2011&CLOSINGDATE=2010%2d11%2d14T07%3a11%3a00Z&TIMESTAMP=2010%2d11%2d15T15%3a50%3a02Z&CORRELATIONID=21573649eb218&ACK=Success&VERSION=62%2e0&BUILD=1603674&FIRSTNAME=JOS%c3%89&LASTNAME=RUI%20DANTAS%20GON%c3%87ALVES&TRANSACTIONID=65728932BE0782404&TRANSACTIONTYPE=webaccept&PAYMENTTYPE=instant&ORDERTIME=2010%2d11%2d14T14%3a20%3a49Z&AMT=15%2e96&FEEAMT=0%2e92&TAXAMT=0%2e00&CURRENCYCODE=USD&PAYMENTSTATUS=Completed&PENDINGREASON=None&REASONCODE=None&PROTECTIONELIGIBILITY=Eligible&L_NAME0=SD%20SDHC%20MMC%20to%202%2e5%2044%20Pin%20IDE%20Male%20Adapter%20Converter
      

  11.   

    解码后显示出类似下面的问号:
    SHIPTONAME=JOS? RUI DANTAS GON?ALVES&SHIPTOSTREET=BAIRRO DE FALC?O BLOCO 5&SHIPTOSTREET2=ENTRADA 126 CASA 21&SHIPTOCITY=
      

  12.   

    我用PHP的echo urldecode($a);一点问题也没有。不会乱码
      

  13.   

    我看了一下,解码后得到的编码是4A4F53C9205255492044414E54415320474F4EC7414C564553确实是两个高位ASC码,就是System.out.print不能将其显示出来而已。写到文件中看就知道是对的了。
      

  14.   

    总之你相信它是对的就行了。哦,这有点...你后面要怎么用它?数据库如果是UTF系列编码的,或者是ISO-8859-1(Latin1)编码的,解码后的数据就是能存且不会丢失的。
    但是你不能用Console来看它,只能从数据库中查出来后写到文本文件中来看。
      

  15.   

    我 用JAVA调用  PHP来解决了。。