请各位大侠帮忙!!!我利用php程序插入韩文txt文档,本地计算机win7可以插入后正常,并打印正常数组。但是搬移到linux服务器上后,再次运行导入同样的程序来导入同样的txt文件,插入进去的内容,部分韩文的文字会丢失,打印的插入sql和数组也不正常,不会显示丢失的内容已经不在打印的sql语句和数组显示了。
是服务器的编码格式跟我本地计算机不一样吗? 以上问题,在本地计算机都没有出现这个问题,linux服务器就出出现这个问题。LinuxPHPSQL

解决方案 »

  1.   

    最容易想到的问题就是 BOM 头
      

  2.   

    但是我用的utf-8的格式呀,不用设置BOM头的吧?  那我该如何解决呢?非常感谢
      

  3.   

    所有的文字处理软件在存储非 ANSI 编码的内容时都会附加上相应字符集的BOM头
    BOM头的作用是在不同系统中,使文件的内容得到正确的解释mysql 不是文字处理软件,他有良好的字符集识别功能,因此他不需要 BOM 头的帮助。相反 BOM 会给 mysql 带来困扰。因为 BOM 头不会出现在任何字符集中(不然就被当做文字识别了),mysql 不知道该如何处理它
    通常是删去不认识的编码组合,结果是可能多删或少删了,造成文字不完整,甚至乱码
      

  4.   

    我觉得应该是数据库字符集的问题(这个我不熟悉),毕竟两台机器就是两个数据库,设置可能不同bom头问题,如果上传(或复制)的软件没有设置,一般不会额外添加或删除
    用字节方式传这个txt,然后程序考虑换行的问题(win是\r\n,linux是\n)
    先读入echo一下文本看看是否读入就有问题,然后再考虑数据方面的
      

  5.   

    唉,延时严重,回复完刷新才看到图,贴几行win7和linux的数据对比来看看
      

  6.   

    我导入的的txt韩文文档我是存为euckr的格式的。我把格式换成ANSI的格式后,导入的内容是没有减少了,但是所有韩文的文字都是显示的问号。
      

  7.   

    ANSI 只能在相同的操作系统中使用如果有可能,你传一个文本到公网上,我们看一下
    可以传到:
    你的公网网站中,并给出链接
    你的 CSDN 网盘中,并分享出来
    CSDN 的下载频道(注意不要有下载分),并给出链接
      

  8.   

    插入打印的SQL和数组也是不正常的。  丢失的部分也没有打印出来。