我有這樣的文字...如何替換字符串中的亂碼字符?
“I’米並不想成爲可信的,â€大衛笑着擴大」
承認......我想刪除那些奇怪的字符,我已經試過str_replace()
,但它不能正常工作。
任何想法?
我有這樣的文字...如何替換字符串中的亂碼字符?
“I’米並不想成爲可信的,â€大衛笑着擴大」
承認......我想刪除那些奇怪的字符,我已經試過str_replace()
,但它不能正常工作。
任何想法?
您在不同的編碼,然後它的源編碼可能已經處理的文本。
因此,如果文本是UTF-8,那麼當前沒有將其作爲UTF-8處理。最簡單的方法是發送一個報頭,如...
header('Content-Type: text/html; charset=UTF-8');
您還可以添加meta
元素,但要確保它是你head
元素的第一個孩子。
您需要修復源代碼,而不是稍後嘗試修補它(這將永遠不會工作正常)。
難道它不是也是顯示頁面的「內容類型」嗎? –
@JaredFarrish:這將處理不同編碼的文本:) – alex
我不理解您的評論...從Word文件複製/粘貼時,我遇到與OP相同的問題,並通過更改(通常)到''。 –
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
...
</head>
不同的來源通常有不同的編碼,因此您需要指定您在其中呈現視圖的編碼。 Utf-8是最受歡迎的,因爲它涵蓋了所有的ASCII和許多其他語言。
php的utf8_(de)編碼將iso-8859-1轉換爲utf-8,而相反和常規的字符串操作函數不是多字節 - (utf-8可以)字符意識。您可以使用特定於mb_strings的函數,也可以使用某些參數啓用編碼。
//評論,如果我錯了
您應該考慮描述_why_此代碼將有所幫助。是的,它可能會解決問題,但問題的措詞是,他們不知道他們需要此修復;解釋他們爲什麼做。 –
他特意使用了utf標籤,但你是對的。 – anonomg1234
嘛,你使用,你應該使用(你應該使用UTF-8編碼),不同的字符編碼,所以我想改變這種狀況,而不是試圖只需使用快速修復方法即可解決問題(整體來說,您會遇到更少的問題)。
如果你真的想用PHP修復它,你可以使用ctype_alpha()函數;你應該可以這樣做:
$theString = "your text here"; // your input string
$newString = ""; // your new string
$i = 0;
while($theString[$i]) // while there are still characters in the string
{
if(ctype_alpha($theString[$i]) // if it's a character in your current set
{
$newString .= $theString[$i]; // add it to the new string, increment pointer, and go to next loop iteration
$i++;
continue;
} // if the specific character at the $i index is an alphabetical character, add it to the new string
else
{
$i++;
} // if it's a bad character, just move the pointer up by one for the next iteration
}
然後使用$ newString,但是你想。真的,只是改變你的字符編碼,而不是這樣做。您希望編碼在整個項目中保持一致。
我很確定有一個潛在的問題,你應該修復。 –