Linux中php如何读取txt文件,linux下php插入韩文txt文件内的数据,插入进去的内容部分丢失...

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

是服务器的编码格式跟我本地计算机不一样吗?

以上问题,在本地计算机都没有出现这个问题,linux服务器就出出现这个问题。

回复讨论(解决方案)

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

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

所有的文字处理软件在存储非 ANSI 编码的内容时都会附加上相应字符集的BOM头

BOM头的作用是在不同系统中,使文件的内容得到正确的解释

mysql 不是文字处理软件,他有良好的字符集识别功能,因此他不需要 BOM 头的帮助。相反 BOM 会给 mysql 带来困扰。因为 BOM 头不会出现在任何字符集中(不然就被当做文字识别了),mysql 不知道该如何处理它

通常是删去不认识的编码组合,结果是可能多删或少删了,造成文字不完整,甚至乱码

我觉得应该是数据库字符集的问题(这个我不熟悉),毕竟两台机器就是两个数据库,设置可能不同

bom头问题,如果上传(或复制)的软件没有设置,一般不会额外添加或删除

用字节方式传这个txt,然后程序考虑换行的问题(win是\r\n,linux是\n)

先读入echo一下文本看看是否读入就有问题,然后再考虑数据方面的

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

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

ANSI 只能在相同的操作系统中使用

如果有可能,你传一个文本到公网上,我们看一下

可以传到:

你的公网网站中,并给出链接

你的 CSDN 网盘中,并分享出来

CSDN 的下载频道(注意不要有下载分),并给出链接

我上传到网盘,还要通过审核,不知道要等多久才可以提供链接给你。

要不你给我一个邮箱地址吧,我发你邮箱。

我觉得应该是数据库字符集的问题(这个我不熟悉),毕竟两台机器就是两个数据库,设置可能不同

bom头问题,如果上传(或复制)的软件没有设置,一般不会额外添加或删除

用字节方式传这个txt,然后程序考虑换行的问题(win是\r\n,linux是\n)

先读入echo一下文本看看是否读入就有问题,然后再考虑数据方面的

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

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值