gpt4 book ai didi

php - CJK 空白字符消失

转载 作者:搜寻专家 更新时间:2023-10-31 22:15:42 25 4
gpt4 key购买 nike

我有一个 PHP 脚本,它通过 Salesforce API 从 Salesforce 获取数据并使用 file_put_contents 将输出写入一个文件。数据是韩文字符和英文字符的混合。

当我在运行 Red Hat Enterprise Linux ES 版本 4(Nahant 更新 8)和 PHP 5.2.8 的盒子 (1) 和运行 PHP 5.3.6 的类似盒子 (2) 上运行脚本时,韩语之间的空格字符消失。

例如(用K代表韩文,E代表英文)

EEEEEEEEK KKK KKKK EEE KKKK 显示为 EEEEEEEEKKKKKKKK EEE KKKK

但是,当我在运行 CentOs 和 PHP 5.3.5 的盒子 (3) 上或在 (4) 我的本地 Windows 机器上和 PHP 5.3.6 上运行脚本时,文件中的文本是正确的。

任何人都可以提出问题可能是什么吗?

编辑 - 最初我是通过浏览器访问 php 脚本但是(希望)简化我目前将输出存储在文本文件中并将其下载到我的 Windows 机器上的问题。

编辑 - 十六进制版本

原文-CFD란무엇입니까?

来自 (1) 的十六进制 - 43 46 44 eb 9e 80 eb ac b4 ec 97 87 ec 9e 85 eb 8b 88 ea b9 8c 3f

来自 (3) 的十六进制 - 43 46 44 eb 9e 80 20 eb ac b4 ec 97 87 ec 9e 85 eb 8b 88 ea b9 8c 3f

编辑 - 用于选择文本的代码(省略了用户、密码、表格、ID 和路径)

<?php
ini_set("soap.wsdl_cache_enabled", "0");
require_once ("../soapclient/SforcePartnerClient.php");
require_once ("../soapclient/SforceHeaderOptions.php");
$partner_wsdl = "../soapclient/new-partner.wsdl.xml";
$client = new SforcePartnerClient();
$client->createConnection($partner_wsdl);
$loginResult = $client->login('--user--', '--pass--');
$query = "Select Name FROM --table-- WHERE Id = '--id--'";
$response = $client->query($query);
echo'<pre>';print_r($response);echo'</pre>';
$queryResult = new QueryResult($response);
foreach ($queryResult->records as $qr) {
$content = $qr->fields->Name;
file_put_contents('--path--',$content);
}
?>

最佳答案

经过更多研究,我在 SforcePartnerClient.php 中发现了一个函数

$QueryResult = $this->sforce->query(array ('queryString' => $query))->result;

根据使用的框返回不同的值。

框 1 和框 2:

<sf:Name>CFD&#xB780; &#xBB34;&#xC5C7;&#xC785;&#xB2C8;&#xAE4C;?</sf:Name>

框 3 和框 4:

<sf:Name>CFD란 무엇입니까?</sf:Name>

当这与使用 XML 解析器(在文件的后面)和 WSDL 文件结合/解析/转换时,XML 解析器去除连续 &#xxxxx; 之间出现的任何空白; s - 我相信这与错误有关 https://bugs.php.net/bug.php?id=33240为了避免这种情况,我建议注释掉 SforcePartnerClient.php 的第 364 行

xml_parser_set_option( $parser, XML_OPTION_SKIP_WHITE, 1 );

不幸的是,我不知道这是否会对使用 SforcePartnerClient.php 的其他代码产生任何不利影响。

关于php - CJK 空白字符消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6764584/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com