草庐IT

iconv_strpos

全部标签

linux - 为什么 iconv 不能从 utf-8 转换为 iso-8859-1

我的系统是SUSELinuxEnterpriseServer11。我正在尝试使用“iconv”将数据从utf-8格式转换为iso$>filetest.utf8test.utf8:UTF-8Unicodetext,withverylonglines$>$>file-itest.utf8test.utf8:text/plaincharset=utf-8$>$>iconv-fUTF-8-tISO-8859-1test.utf8>test.isoiconv:test.utf8:20:105:cannotconvert你能帮我解决这个问题吗?谢谢。 最佳答案

linux - iconv 任何编码为 UTF-8

我试图将iconv指向一个目录,并且无论当前编码如何,所有文件都将转换为UTF-8我正在使用此脚本,但您必须指定要使用的编码。如何让它自动检测当前编码?dir_iconv.sh#!/bin/bashICONVBIN='/usr/bin/iconv'#pathtoiconvbinaryif[$#-lt3]thenecho"$0dirfrom_charsetto_charset"exitfiforfin$1/*doiftest-f$fthenecho-e"\nConverting$f"/bin/mv$f$f.old$ICONVBIN-f$2-t$3$f.old>$felseecho-e"\

linux - iconv 任何编码为 UTF-8

我试图将iconv指向一个目录,并且无论当前编码如何,所有文件都将转换为UTF-8我正在使用此脚本,但您必须指定要使用的编码。如何让它自动检测当前编码?dir_iconv.sh#!/bin/bashICONVBIN='/usr/bin/iconv'#pathtoiconvbinaryif[$#-lt3]thenecho"$0dirfrom_charsetto_charset"exitfiforfin$1/*doiftest-f$fthenecho-e"\nConverting$f"/bin/mv$f$f.old$ICONVBIN-f$2-t$3$f.old>$felseecho-e"\

linux - 使用 iconv 将 UTF8 转换为 UTF16

当我使用iconv从UTF16转换为UTF8时,一切都很好,但反之亦然,它不起作用。我有这些文件:a-16.strings:Little-endianUTF-16Unicodecprogramtexta-8.strings:UTF-8Unicodecprogramtext,withverylonglines文本在编辑器中看起来不错。当我运行这个时:iconv-fUTF-8-tUTF-16LEa-8.strings>b-16.strings然后我得到这个结果:b-16.strings:dataa-16.strings:Little-endianUTF-16Unicodecprogramt

linux - 使用 iconv 将 UTF8 转换为 UTF16

当我使用iconv从UTF16转换为UTF8时,一切都很好,但反之亦然,它不起作用。我有这些文件:a-16.strings:Little-endianUTF-16Unicodecprogramtexta-8.strings:UTF-8Unicodecprogramtext,withverylonglines文本在编辑器中看起来不错。当我运行这个时:iconv-fUTF-8-tUTF-16LEa-8.strings>b-16.strings然后我得到这个结果:b-16.strings:dataa-16.strings:Little-endianUTF-16Unicodecprogramt

php - iconv UTF-8//忽略仍然产生 "illegal character"错误

$string=iconv("UTF-8","UTF-8//IGNORE",$string);我原以为这段代码会删除无效的UTF-8字符,但它会生成[E_NOTICE]"iconv():Detectedanillegalcharacterininputstring"。我错过了什么,如何正确地从非法字符中删除字符串? 最佳答案 输出字符集(第二个参数)应该不同于输入字符集(第一个参数)。如果相同,则如果字符串中存在非法的UTF-8字符,iconv会根据输入的字符集将其视为非法字符而拒绝。

php - iconv UTF-8//忽略仍然产生 "illegal character"错误

$string=iconv("UTF-8","UTF-8//IGNORE",$string);我原以为这段代码会删除无效的UTF-8字符,但它会生成[E_NOTICE]"iconv():Detectedanillegalcharacterininputstring"。我错过了什么,如何正确地从非法字符中删除字符串? 最佳答案 输出字符集(第二个参数)应该不同于输入字符集(第一个参数)。如果相同,则如果字符串中存在非法的UTF-8字符,iconv会根据输入的字符集将其视为非法字符而拒绝。

php - php中的反向strpos函数

反向strpos函数我想找到一种可以反向查找字符位置的方法。例如,最后一个“e”开始反向计数。来自例子$string="Kelley";$strposition=strpos($string,'e');它将给我位置1。 最佳答案 intstrrpos(string$haystack,string$needle[,int$offset=0])查找needle在haystack字符串中最后一次出现的数字位置。http://php.net/manual/en/function.strrpos.php

php - php中的反向strpos函数

反向strpos函数我想找到一种可以反向查找字符位置的方法。例如,最后一个“e”开始反向计数。来自例子$string="Kelley";$strposition=strpos($string,'e');它将给我位置1。 最佳答案 intstrrpos(string$haystack,string$needle[,int$offset=0])查找needle在haystack字符串中最后一次出现的数字位置。http://php.net/manual/en/function.strrpos.php

PHP substr 在某个char之后,substr + strpos的优雅解决方案?

假设我想返回一些needlechar'x'之后的所有字符,来自:$source_str="Tuexhelobabe".通常我会这样做:if(($x_pos=strpos($source_str,'x'))!==FALSE)$source_str=substr($source_str,$x_pos+1);你知道更好/更聪明(更优雅的方式)来做到这一点吗?不使用正则表达式不会使它更优雅,也可能更慢。很遗憾我们不能这样做:$source_str=substr(source_str,strpos(source_str,'x')+1);因为当'x'未找到时strpos返回FALSE(而不是像JS