处理ID3标签时移除Unicode无效字符的问题及解决方法
处理ID3标签无效字符问题
之前遇到过该问题并编写了修复代码,但因回退至数周前的旧版本代码而丢失了该方案。目前使用org.farng.mp3处理ID3标签时,遇到char 65533、\u25AF等无效字符,输入内容「Electronic」会显示为「E�l�e�c�t�r�o�n�i�c」。已知内容为UTF-8编码,不确定是否需要转换为其他字符集,尝试过以下多种替换代码及变体均无效:
<cfset tag = REReplace(tag,"\p{C}", "", "All")> <cfset tag = REReplace(tag,"\p{Cf}", "", "All")> <cfset tag = ReReplace(tag,"[^\\x00-\\x7F]", "", "All")> <cfset tag = Replace(tag, "[\\u25AF]", "", "All")> <cfset tag = ReplaceNoCase(tag,chr(65533),"","All")>
查阅了之前找到的所有解决方案,但都不起作用,不过确定问题出在自己的操作上。
更新/已解决
最终有效的代码如下:
<cfset tag = REReplace(tag,"[^\w ]","","All")>
内容的提问来源于stack exchange,提问作者upgrad3
相关产品推荐
相关产品推荐

