Utf 8 ColdFusion:将重音区域字符转换为普通ASCII

Utf 8 ColdFusion:将重音区域字符转换为普通ASCII,utf-8,coldfusion,character-encoding,iconv,diacritics,Utf 8,Coldfusion,Character Encoding,Iconv,Diacritics,我需要将法语、瑞典语和其他语言中的字符转换为“正常”标准ASCII格式 我不知道如何解释,这里有一个例子: ç->c ò->o 在bash Unix中,我将使用iconv。在ColdFusion9/Java中我该怎么做?我在以下位置找到了这个简单的UDF: <cfscript> /** * Replaces accented characters with their non accented closest equivalents. * * @return Retu

我需要将法语、瑞典语和其他语言中的字符转换为“正常”标准ASCII格式

我不知道如何解释,这里有一个例子:

  • ç->c
  • ò->o


在bash Unix中,我将使用iconv。在ColdFusion9/Java中我该怎么做?

我在以下位置找到了这个简单的UDF:

<cfscript>
/**
 * Replaces accented characters with their non accented closest equivalents.
 * 
 * @return Returns a string. 
 * @author Rachel Lehman (raelehman@gmail.com) 
 * @version 1, November 15, 2010 
 */
function deAccent(str){
    var newstr = "";
    var list1 = "á,é,í,ó,ú,ý,à,è,ì,ò,ù,â,ê,î,ô,û,ã,ñ,õ,ä,ë,ï,ö,ü,ÿ,À,È,Ì,Ò,Ù,Á,É,Í,Ó,Ú,Ý,Â,Ê,Î,Ô,Û,Ã,Ñ,Õ,Ä,Ë,Ï,Ö,Ü,x";
    var list2 = "a,e,i,o,y,u,a,e,i,o,u,a,e,i,o,u,a,n,o,a,e,i,o,u,y,A,E,I,O,U,A,E,I,O,U,Y,A,E,I,O,U,A,N,O,A,E,I,O,U,Y";

    newstr = ReplaceList(str,list1,list2);
    return newstr;
}
</cfscript>

/**
*将重音字符替换为其非重音最接近的等效字符。
* 
*@return返回一个字符串。
*@作者雷切尔·雷曼(raelehman@gmail.com) 
*@version 12010年11月15日
*/
函数终止(str){
var newstr=“”;
var list1=“á,é,í,ó,ý,ý,ì,ù,î,î,õ,ä,ë,ë,ö,ÿ,À,Ì,Ò,Ù,É,Ú,ࢤ,࢕,࢕,࢕,࢕,࢕,࢕,࢕,࢕,࢕,࢕,࢕,࢕”;
var list2=“a,e,i,o,y,u,a,e,i,o,u,e,a,n,o,a,e,i,o,u,y,a,e,i,o,u,a,e,i,o,u,a,e,i,o,u,y,a,e,i,o,u,a,n,o,a,e,i,i,o,u,o,o,u,u,u,y”;
newstr=ReplaceList(str、list1、list2);
返回新闻TR;
}

您还可以使用CF内置的charsetEncode函数

encodedString = charsetEncode(stringToBeConverted, "utf-8");

在Java中,我们可以这样做:显然,您可以添加所需的任何字符。ColdFusion中没有任何本机功能可以进行这种转换。您可能可以在底层Java中使用一些东西(请参阅)。我尝试了一个简单的代码示例:但它给了我错误:CharsetEncode函数的参数1(现在是x)必须是有效的二进制对象。少了什么吗?