我有下面的代碼試圖將UTF-8字符串編碼到UCS-2LE。該字符串似乎是有效的,因爲可以用mb_check_encoding
進行檢查,但是當我在其上運行iconv
,我得到通知如下:帶有表情符號的字符串似乎是有效的UTF-8,但iconv無法處理它
注意:的iconv():檢測到輸入字符串非法字符
任何想法是什麼問題?
<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
$string = 'Voiture ';
$isValidUTF8 = mb_check_encoding($string, 'UTF-8');
echo 'Is valid UTF-8: ' . ($isValidUTF8 ? 'Yes' : 'No') . "\n";
$text1 = iconv('UTF-8', 'UCS-2LE', $string);
var_dump($text1);
輸出:
是有效的UTF-8:是
注意:的iconv():檢測到輸入字符串非法字符
布爾(假)
嘗試忽略參數。讓我知道如果你有任何其他解決方案 –
我知道關於忽略選項,但我寧願找到一種方法來轉換,如果它可以完成 –