相关疑难解决方法(0)

更改String的默认编码(byte [])

有没有办法更改String(byte [])构造函数使用的编码?

在我自己的代码中,我使用String(byte [],String)来指定编码,但我使用的是无法更改的外部库.

String src = "with accents: é à";
byte[] bytes = src.getBytes("UTF-8");
System.out.println("UTF-8 decoded: "+new String(bytes,"UTF-8"));
System.out.println("Default decoded: "+new String(bytes));
Run Code Online (Sandbox Code Playgroud)

这个输出是:

UTF-8 decoded: with accents: é à
Default decoded: with accents: é à

我试过更改系统属性,file.encoding但它不起作用.

java encoding

10
推荐指数
1
解决办法
2万
查看次数

在Windows-chrome中,奇数个非英文字符被破坏了

我开发了jnlp applet,它打印出用户输入.

当我输入奇数个非英文字符(例如:中文)时,chrome浏览器将最后一个字符打印为问号.

输入:가输出:가

我在java控制台上检查了这个字符是否正确.

它必须是applet与chrome浏览器通信的bug.

IE正确打印出来.

我可以通过在applet上添加空格并在java脚本上删除它来解决此问题.

有人对这个问题有什么线索吗?

代码如下.

*MainApplet.Java*
public class MainApplet extends JApplet implements JSInterface{//, Runnable {

    public int stringOut(String sData) {
        OutData = sData;
        return 0;
    }

}

*js File*

function TSToolkitRealWrapper ()
{   
    var OutData;
    var OutDataNum;
}
var TSToolkit = new TSToolkitRealWrapper();


var attributes = { id:'TSToolkitReal',code:'com.multibrowser.test.MainApplet', width:100, height:100} ;
var parameters = {jnlp_href: getContextPath() + '/download/pkitoolkit.jnlp',
                 separate_jvm:true, classloader_cache:false} ;
TSToolkitRealWrapper.prototype.stringOut=function(str)
{

          var   nRet = TSToolkitReal.stringOut(str) ;
          this.OutData= TSToolkitReal.OutData;
          return    nRet;
}

*HTML*
<SCRIPT …
Run Code Online (Sandbox Code Playgroud)

jnlp applet

6
推荐指数
1
解决办法
543
查看次数

标签 统计

applet ×1

encoding ×1

java ×1

jnlp ×1