感謝這個好消息。我將測試並確認
你好,
您的解決方案是在普遍不好。為什麼呢?這正與字母的ASCII代碼在256(轉換並顯示良好的),但信件的ASCII代碼超過 256我有“?”跡象。
因此,我們需要結合我們的兩個解決方案於一體
例如:
這一行:PHP Code:
function vbet_encodeToSafeUTF8(&$string) {
$string = preg_replace('/([\340-\357])([\200-\277])([\200-\277])/e',
'\'&#\'.((ord(\'\\1\')-224)*4096 + (ord(\'\\2\')-128)*64 + (ord(\'\\3\')-128)).\';\'',
$string);
//decode two byte unicode characters
$string = preg_replace('/([\304-\337])([\200-\277])/e',
'\'&#\'.((ord(\'\\1\')-192)*64+(ord(\'\\2\')-128)).\';\'',
$string);
$string = utf8_decode($string);
return $string;
}
定義比字母與 ASCII代碼 256下將不會通過我的解碼功能,但只有PHP Code:
[\304-\337]
我正在測試它still.I我不完全肯定一切正常了。PHP Code:
utf8_decode
你可以測試它呢!
對於我而言,該解決方案正常工作... ...因為我只翻譯成兩個 langauges ...英語和法語。兩者都是ISO - 8859 - 1(拉丁文)語言。因此,“utf_decode”功能工作正常。
然而,隨著全球範圍來看,utf_decode功能可能無法正常工作以外的其他語言“拉丁文”。
我沒有太大的百度推廣程序員。不過,我會提供一個建議:
也許用一個“如果”語句可能更適合你的目的,如果您的解決方案不起作用。在下面的例子中,“translated_language_var”將是目標語言翻譯成。
IE:
使用這樣的事情也許將是一個確定的方法來保持一切安全...???我敢肯定,你可以很容易地使用這個偽代碼,並使其工作百度推廣。PHP Code:
$latin1 = array(English,French,Spanish,Italian....etc);
if (in_array(translated_language_var,$latin1)){
$string = utf_decode($string);
}else{
original solution;
}
return $string;
![]()
最後編輯者 freddie3218; 14-03-11 在 05:12.
解決 - 將列入下一relase