getProfileStringUTF8(iniPath [, section] [, entry])
Last updated July 24, 2012
Version: 1 | Requires: ColdFusion 9 | Library: CFMLLib
Description:
It supports to translate any unicode-based language instead of using GetProfileString which doesn't support Unicode (UTF-8).
See http://help.adobe.com/en_US/ColdFusion/10.0/CFMLRef/WSc3ff6d0ea77859461172e0811cbec22c24-7c62.html
Return Values:
Returns the value of the entry if found, otherwise an empty string
Example:
Parameters:
| Name | Description | Required |
|---|---|---|
| iniPath | Full path to ini file to parse. | Yes |
| section | Section of the ini file to parse. | No |
| entry | Entry within that section to return value of. | No |
Full UDF Source:
<cfscript>
/**
* Unicode language translator ((UTF-8))
* version 0.1 by Pyae Phyoe Shein
* version 1.0 by Adam Cameron - code tidy & return a value rather than output it. Added support for sections, as per getProfileString(). Make function usage analogous to getProfileString()
*
* @param iniPath Full path to ini file to parse. (Required)
* @param section Section of the ini file to parse. (Optional)
* @param entry Entry within that section to return value of. (Optional)
* @return Returns the value of the entry if found, otherwise an empty string
* @author Pyae Phyoe Shein (pyaephyoeshein@gmail.com)
* @version 1.0, July 24, 2012
*/
function getProfileStringUTF8(iniPath, section, entry) {
var iniFile = "";
var line = "";
var inSection = false;
section = "[#section#]";
try {
iniFile = fileOpen(iniPath, "read", "UTF-8");
line = "";
// scan the file for the section
while (!fileIsEOF(iniFile)) {
line = FileReadLine(iniFile);
// keep track if we've found the correct section
if (line == section){
inSection = true;
continue;
}
// if we're in the correct section and we find a match, we're done: return its value
if (inSection && listFirst(line, "=") == entry){
return listRest(line, "=");
}
// if we get to another section, then we didn't find the match: exit
if (inSection && reFind("^\s*\[[^\]]+\]", line)){
return "";
}
}
}
catch (any e){
rethrow;
}
finally {
fileClose(iniFile);
}
// we got to the end of the file and didn't find it
return "";
}
</cfscript>
Search CFLib.org
Latest Additions
Adam Cameron added
composeDateTime
19 day(s) ago
Chris Weller added
convertQueryStri...
a while ago
Greg Nettles added
arrayDiff
a while ago
Nathan Dintenfass added
ArrayOfStructsSo...
a while ago
Top Rated
backupDatabase
Rated 5.0, 36 time(s)
indentXml
Rated 5.0, 10 time(s)
deAccent
Rated 5.0, 6 time(s)
countArbitraryDa...
Rated 5.0, 5 time(s)