解决方案 »

  1.   

    js 总是用 unicode 字符集工作(UCS-2)
    并没有字符集转换的函数你可以在 java中将内容转成 UCS-2 的
      

  2.   

    UCS-2是 byte的啊,不行啊。  我要MD5加密用
      

  3.   

    我对 java不熟悉,不能深说什么不过 UCS-2 是 2 字节的, utf-8 是 1~3 字节的(还有 4 字节的表情符)
    稍有差异就会造成 MD5 不同
    所以你需要寻找一个平衡点
    由于 js 的字符串处理能力很弱(不及 vbs 的一半),所以你只能从 java 中找出路
    由于 utf-8 与 ucs-2 间存在简单的位移关系,所以你可以用底层函数完成 utf-8 到 ucs-2 的换算。从而撇开封装对象不尽人意的缺陷
      

  4.   

    最后问一个问题, 用 jquery MD5加密的情况 , jquery是用什么 编码格式 进行加密的???
      

  5.   

    例如:“你好”
    java后台MD5加密:7eca689f0d3389d9dea66ae112e5cfd7
    jquery的MD5加密:c50de6c887d23676fa37a4b174300120java是用 UTF-8的 编码格式。
    jsp也设置了 UTF-8。
      

  6.   

    gbk   b94ae3c6d892b29cf48d9bea819b27b9
    utf-8 7eca689f0d3389d9dea66ae112e5cfd7
    usc-2 7476421c7e53836496ebca97665fe2ab
    document.write(escape('你好')); //%u4F60%u597D 
    gbk   c4e3bac3
    utf-8 e4bda0e5a5bd
    usc-2 4f60597d
    我想你应该自己有结论了吧
      

  7.   

    建议还是取网上找那种js和java成套的加密解密方案。然后先测试一下。你这个可能不是编码的问题。
    http://blog.mn886.net/chenjianhua