Ich habe eine (Postgres) -Datenbank, die Unicode-Zeichen nicht akzeptieren kann, aber sie werden als Unicode von Coldfusion eingegeben. Ich konvertiere sie in Ascii wie hier gezeigt und speichere sie in der Datenbank. Das funktioniert gut und hier ist der Code, den ich benutze, um den Vornamen von jemandem (der chinesische/koreanische Zeichen usw. enthält) in ascii umzuwandeln.Konvertieren von ASCII-Zeichen zurück in Unicode in Coldfusion
<cfset strLen = len(#URL.firstName#)>
<cfset tempCharAll = 'START_TAG'>
<cfloop from="1" to="#strLen#" index="i">
<cfset current_char = mid(#URL.firstName#,i,1)>
<cfset tempChar = formatBaseN(asc(current_char),16)>
<cfset tempCharAll = tempCharAll & tempChar >
</cfloop>
<cfset #URL.lastName# = #tempCharAll#>
<cfset #URL.firstName# = #tempCharAll#>
Nun, wie Reverse ich dies und Coldfusion etwas Unicode umwandeln machen zurück, so dass die richtigen koreanischen/chinesische Schriftzeichen angezeigt wird, wenn einige Protokolle in etc? Danke.
ist dieser Code nicht funktioniert:
Wenn ich diesen Code verwenden:
<CFOUTPUT> input:</br></br></CFOUTPUT>
<cfset tempChar = "t">
<CFOUTPUT> #tempChar#</br></br></CFOUTPUT>
<cfset tempChar = formatBaseN(asc(current_char),16)>
<CFOUTPUT> encoded:</br></br></CFOUTPUT>
<CFOUTPUT> #tempChar#</br></br></CFOUTPUT>
<cfset varCoded = CharsetDecode(tempChar, "windows-1252")>
<cfset strUnEncoded = CharsetEncode(varCoded, "utf-8")>
<CFOUTPUT> decoded:</br></br></CFOUTPUT>
<CFOUTPUT> #strUnEncoded#</br></br></CFOUTPUT>
es 74 gibt dann sowohl für decodiert und codiert, wenn es ausgeben sollte "t" für dekodiert
Danke. Ich habe es endlich funktioniert. Ich musste 4 Zeichen iterieren, wenn die koreanischen Zeichen statt nur das "t" eingaben, aber es funktionierte. –