簡體   English   中英

PHP中的UTF編碼問題

[英]Problem in UTF Encoding in PHP

我使用以下代碼行:

$revTerm =  "". strrev($limitAry["term"]);
$revTerm = utf8_encode($revTerm);

$ revTerm包含挪威字符øæå。 但是,它顯示正確。 我需要在顯示之前將它們反轉,所以我使用第一行。 當我以這種方式顯示它們時,我得到一個錯誤的xml格式錯誤-用於填充網格。 當我嘗試使用第二行時,沒有出現錯誤,但是字符顯示不正確。 還有其他解決方法嗎? 如果有幫助,我可以使用jqGrid填充這些數據。

像大多數PHP字符串函數一樣, strrev對於多字節編碼也不安全。

試試這個例子

$test = 'А роза упала на лапу Азора ウィキ';
$test = iconv('utf-8', 'utf-16le', $test);
$test = strrev($test);
// キィウ арозА упал ан алапу азор А
echo iconv('utf-16be', 'utf-8', $test);

(俄語) http://bolknote.ru/2012/04/02/~3625#56

嘗試這個:

$revTerm = utf8_decode($limitAry["term"]);
$revTerm = strrev($revTerm);
$revTerm = utf8_encode($revTerm);

為了使用strrev您必須將字符串解碼為非多字節字符串。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM