草庐IT

PHP多字节替代UTF8

我一直在寻找字符串操作函数的UTF8安全替代方案。我发现了很多不同的意见和建议。我想问一下以下函数是否会导致UTF-8出现问题,如果会,我应该使用什么来代替。我知道PHP手册中的mb_前缀函数列表,但并不是我正在使用的所有函数。函数有:内爆、爆炸、str_replace、preg_match、preg_replace谢谢 最佳答案 explode只是寻找相同的字节序列并在该点分隔字符串。由于UTF-8与ASCII安全地向后兼容,因此无需担心,它会正常工作。implode只是将字符串组合在一起,由于UTF-8的特性,它也能正常工作。s

win10在远程连接配置中出现`Bad owner or permissions on C:\\Users\\Administrator/.ssh/config` 报错

问题报错win10在远程连接配置中出现BadownerorpermissionsonC:\\Users\\Administrator/.ssh/config报错问题原因原因是由于使用Remote-SSH所依赖的Remote-SSH:EditingConfigurationFiles扩展编辑了C:\Users\Administrator.ssh\config文件后,此文件的权限发生了改变:如上图所示,编辑了%USERHOME%\.ssh\config文件后,不但在VSCode中由于配置文件权限问题而无法进行SSH远程连接,就连使用系统的PowerShell进行SSH连接时也会报此错误,而把此配置

php - UTF8 到 CP1255 转换

我正在尝试将UTF-8字符串转换为CP1255(希伯来语)我试过运行以下命令(我正在使用detect_encoding因为我的一些输入不是UTF-8):foreach($paramas$key=>$value){$newval=iconv(mb_detect_encoding($value),"cp1255",$value);$querystr.=$key."=".$newval."&";}不管怎样,结果是所有的希伯来字符都返回漂亮的�符号,所有其他(英文/数字)都符合预期并保持原样。我怎样才能正确地做到这一点? 最佳答案 我找到了

PHP API 最佳实践 - 回显 json_encoded 对象 : bad or good?

我提前向您道歉,因为我的问题措辞有问题,但请耐心等待,我会尽量做到准确。但是,我的问题有点含糊,很难问。我最近一直在与我的一位同事讨论通过PHP从RESTfulAPI发回的响应。我们的不同之处在于我们对服务器的响应。他的论点是只对原始对象(它是数据库表中一行数据的PHP对象表示)进行json_encode。但是,我发现的问题是,例如,您只需要发回几列数据的情况。例如,假设您要返回一个对象,您只需要表中的主键、描述和名称即可。但是,该对象还具有其他用途的属性(var1、var2等)如果像这样回显:echo(json_encode($object));JSON看起来像这样:{"primar

php - "Bad"练习乘以$val * 1 将null 转换为零

我正在使用PHP5.5从数字postgresql数据库表字段中检索数值。它可以作为空值或实际数字来自数据库,无论哪种方式我都将其存储在变量中。因为我们中的一些人可能知道也可能不知道null*1=0,这是我喜欢做的事情,但我担心这是否是错误的,或者是否是将潜力转化为不好的做法将null值转换为零,而无需实际检查该值。见下文:...$字段值*=1;//假设此时它保存着DB返回的值...因此,如果数据库返回空值,则$fieldVal将变为零,任何非空值将保持不变。非常感谢您的见解。 最佳答案 更改您的查询以包含COALESCE并解决空案例

PHP utf8问题

我在将包含挪威字符的数组与utf8字符进行比较时遇到了一些问题。除了特殊的挪威字符(æ、ø、å)之外的所有字符都可以正常工作。functionisNorwegianChar($Char){$aNorwegianChars=array('a','A','b','B','c','C','d','D','e','E','f','F','g','G','h','H','i','I','j','J','k','K','l','L','m','M','n','N','o','O','p','P','q','Q','r','R','s','S','t','T','u','U','v','V','w'

php - 如何在我的 utf-8 编码页面上正确显示 utf 编码字符?

我正在检索电子邮件,我的一些电子邮件有utf编码的文本。然而,即使我的页面被编码为utf8-在某些地方,当我尝试输出utf文本时,我会得到有趣的字符,例如:=?utf-8?B?Rlc6INqp24zYpyDYotm+INin2LMg2YXYs9qp2LHYp9uB2bkg2qnbjCDZhtmC?==?utf-8?B?2YQg2qnYsdiz2qnYqtuSINuB24zaug==?=而在同一页面的其他区域显示正常。这是怎么回事? 最佳答案 这不是“有趣的字符”,它们是合法的ASCII字符。只是该字符串是为传输而进行的MIME编码,

PHP7 + curl (SSL/TLS) 给出 502 Bad Gateway

我正在开发一个使用DropboxSDK来做一些事情的网页。其中大部分通过CLI发生,但必须在浏览器中完成一件事。不过,我偶然发现了一个有趣的问题。$dbxClient=newdbx\Client($accountToken,'xxx/'.VERSION);$folderMetadata=$dbxClient->getMetadataWithChildren("/");在CLI中运行这段代码效果很好。然而,在浏览器中运行它会给我一个502。困惑的我启动了xdebug并追踪了问题出现的位置。我发现是Dropbox的curl调用导致的,所以我写了一个小示例脚本来查看curl是否有效。它没有。

php - 正则表达式匹配任何 UTF 字符,不包括标点符号

我正在PHP中准备一个函数来自动转换字符串以用作URL(*.html)中的文件名。虽然应该使用ASCII以确保安全,但出于SEO的需要,我需要允许文件名使用任何语言,但我不希望它包含破折号(-)和下划线(_)、字符以外的标点符号像*%$#@"'不应该被允许。空格应转换为破折号。我认为使用Regex将是最简单的方法,但我不确定如何处理UTF8字符串。我的ASCII函数如下所示:functionconvertToPath($string){$string=strtolower(trim($string));$string=preg_replace('/[^a-z0-9-]/','-',$s

php - utf8 到 ISO-8859-1 无法通过 Curl 正确转换某些字符

我有一个采用UTF8编码字符的应用程序,需要使用ISO-8859-1编码通过curl将它们作为xml的一部分发送。这是我的测试代码:header('Content-Type:text/plain;charset=IS0-8859-1');$message='§°"@#€%&/()=+`´^¨*-_:.;,';echomb_convert_encoding($message,'ISO-8859-1','UTF-8');//buildxmltopost$content=''.CUSTOMER_ID.''.PASSWORD_ID.'+12345678900';$posturl=MT_URL;