2016-11-25 102 views
0

我有一些奇怪的字符出現在生產數據庫中。我想要替換的字符串是\ u00fc \ u00be \ u00a3 \ u00a4 \ u00bc。在php字符串中替換unicode字符的最佳方法是什麼?

失敗。

$column = str_replace('\u00fc\u00be\u008c\u00a3\u00a4\u00bc', "'", $column); 

和這個工程。

$column = str_replace('ü¾£¤¼',"'",$column) ; 

什麼是最好的方法來取代PHP字符串中的unicode字符而不復制解碼文本?

+0

這只是一個猜測,因爲我無處可以測試這個atm,但在第一個例子中嘗試使用雙引號。單引號將其視爲文字文本。 – Auris

+1

你應該看看http://stackoverflow.com/questions/6058394/unicode-character-in-php-string上的答案[編輯:該問題涉及單個字符,但同樣的原則適用於他們的字符串。] – EPB

+0

謝謝@EPB。使用json_decode()工作。 –

回答

2

https://stackoverflow.com/users/395384/epb繼鉛之後,我用json_decode翻譯其運作的Unicode。

$unicode = json_decode("\u00fc\u00be\u008c\u00a3\u00a4\u00bc") ; 
$column = str_replace($unicode, "'", urldecode($row[$columnIndex])); 
0

使用""所以性格得到解析:

$column = str_replace("\u00fc\u00be\u008c\u00a3\u00a4\u00bc", "'", $column); 
+0

這沒有奏效。 –

+0

語法爲「\ u {00fc} \ u {00be} ...」([僅適用於PHP> = 7.0.0](http://php.net/manual/fr/migration70.new-features.php #migration70.new-features.unicode-碼點轉義語法)) – julp

相關問題