首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于Windows的mb_check_encoding编码

用于Windows的mb_check_encoding编码
EN

Stack Overflow用户
提问于 2013-12-31 11:22:16
回答 1查看 234关注 0票数 0

我得到一个输入字符串,并尝试检查它是否是有效的windows-1255字符串:

代码语言:javascript
复制
mb_check_encoding($string, 'windows-1255'); 

我收到一条错误消息:“无效编码"windows-1255"”

编码名称'windows-1255‘可能是正确的,因为我在"iconv“函数中使用了它,它工作得很好。我也尝试了"WINDOWS-1255“和"Windows-1255”,得到了相同的结果。

如何检查字符串是否为有效的windows-1255编码?

EN

回答 1

Stack Overflow用户

发布于 2013-12-31 11:26:36

在我的经验中,尝试嗅探编码总是以某种方式被破坏。

以下代码未经过测试,但如果编码已注册到您的系统中,则应该可以工作。请确保在使用前对其进行了彻底的测试(无论是阴性还是阳性)。

您可以使用iconv()将其从windows1255转换为UTF-8,然后再转换回来。如果它仍然是相同的字符串,则它是有效的Windows-1255。

代码语言:javascript
复制
$string = "צקר"; // the source file needs to be Windows-1255 as well 
$string_1255 = iconv ("Windows-1255", "UTF-8//IGNORE", $string);
$string_final = iconv ("UTF-8", "Windows-1255//IGNORE", $string_1255);

if ($string == $string_final)  
    echo "Yay!!! :)"; 
   else 
    echo "No :(";
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20851246

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档