请教一下:
在中文系统下面,日文中文都能正常保存、显示
可是在日文系统下面输入的资料,全是乱码。有由base64_encode这个进行转换,これは日本語です  //这是中文下的输入 
偙傟偼擔杮岅偱偡  //这是日文下的输入怎么才能避免呢,谢谢了,数据库用的是MSSQL,字段类型是 Nvarchar

解决方案 »

  1.   

    有由base64_encode这个进行转换 是什么含义?
    是否可理解为:
    入库的数据用 base64_encode 编码后插入
    读取时用 base64_decode 解码后输出これは日本語です //这是中文下的输入  这是 gbk 编码的
    偙傟偼擔杮岅偱偡 //这是日文下的输入  这是 Shift-JIS 编码的无论是输入后和输出前你都需要将他们转换成统一的编码,才不会产生“乱码”又,Nvarchar 类型是用于存放 unicode 编码内容的(UCS-2)
    如果你不打算使用此编码,请改用 varchar 类型
      

  2.   

    转换成统一编码可用 iconv 函数,也可用日本人开发的 mb 系列函数 
      

  3.   

    これは日本語です(gbk)//偙傟偼擔杮岅偱偡(sjis) 这两个在不同系统下看到的东西是一样的首先可以确定你入库前的页面没有指定编码,所以造成——中文系统输入gbk,日文系统输入sjis并且,出库时却指定了使用gbk来阅读
    入库、数据库、出库三者保持相同的编码
    如果只有一种语言,可以只使用该语言的通用编码
    如果有多种语言,可以考虑utf-8如果大量数据已经存在,不便于统一,可以在出库后用iconv转换
      

  4.   

    看了大家的建议,明白了一些,由于日语是最近加入的要求,
    现在数据库是 CHINESE_PRC_CI_AS,网页是用的  utf-8的是不是现在要改变数据库的规则了