我有多个文本文件可以将应用程序翻译成不同的语言。这些文本文件来自Java应用程序,如下所示:
weather_501=m\u00E4ßiger Regen
weather_701=tr\u00FCb
weather_731=Sand / Staubsturm
weather_802=\u00FCberwiegend bew\u00F6lkt
我使用以下PHP函数加载此文件,$locale
是输出的语言:
function loadTranslation($locale) {
$this->_data = array();
$localeFilePath = PATH_LANG . '/text/textTx_' . $locale . '/properties';
if (file_exists($localeFilePath)) {
$localeFileHandle = fopen($localeFilePath, "r");
while (($line = fgetcsv($localeFileHandle, 1000, "=")) !== FALSE) {
$this->_data[$line[0]] = $line[1];
print_r($line);
}
fclose($localeFileHandle);
}
else echo 'Error: localeFilePath does not exist: '.$localeFilePath.'<br/>';
return $this;
}
现在的问题是UTF-8的unicode解码/编码。我已经尝试了几次尝试,但没有任何真正的工作。例如,Decode unicode escape characters适用于德国元音,但不适用于像'ß'这样的字符。输出“mä igerRegen”。
另外我没有让json_encode
或json_decode
函数工作......
也许有人可以帮助我,告诉我我做错了什么。
注意:PHP 5.5版
答案 0 :(得分:1)
问题是文本文件,原因很简单,因为它们编码错误。
文件现在已正确编码,一切正常。