我已經環顧四周,似乎並不能就這麼在這裏它找到一個解決方案。返回PHP的SimpleXML值有地方連字符的字符怪異和撇號
我有以下代碼:
$file = "adhddrugs.xml";
$xmlstr = simplexml_load_file($file);
echo $xmlstr->report_description;
這是一個簡單的版本,但即使這個嘗試任何連字符[R撇號變成:^一(歐元符號)商標標誌。
事情我已經試過有:
echo = (string)$xmlstr->report_description; /* did not work */
echo = addslashes($xmlstr->report_description); /* yes I know this doesnt work with hyphens, was mainly trying to see if I could escape the apostrophes */
echo = addslashes((string)$xmlstr->report_description); /* did not work */
也htmlspecial(我又知道不帶連字符的工作),ヶ輛,以及其他一些技巧。
現在的情況是,我從進料得到XML文件,所以我不能改變他們,但他們都非常標準。帶有連字符等的文本被封裝在cdata標籤中,並且編碼是UTF-8。如果我查看源代碼,我會在源代碼中顯示連字符和撇號。
現在只是爲了看看編碼是關閉或貼錯標籤或別的東西,奇怪,我試圖查看原始XML文件果然是正確顯示。
我相信,在我急於找到我忽略了一些簡單的答案,事實上,這確實是我曾經用過的SimpleXML第一次我錯過了一個非常簡單的解決方案。只是不要停靠我,我真的嘗試自己找到答案。
再次感謝。
感謝這些人都看起來不錯,直到現在我沒有看到反應,我回家了,我會再次檢查那些謝天謝地,我會讓你知道 – BrandonS 2011-01-28 23:43:44
如果你正在尋找解決方案,而馬特的答案是正確的,請閱讀Jasso和Takeshin的回答,因爲他們三人幫助解決問題1.解釋原因2.解釋如何解決它3.幫助設置simpleXML中的幫助解決問題O操作。使用其中的一個可能會解決這個問題,但是查看所有答案將確保它解決問題並幫助您理解問題,以便您不會再犯這個錯誤。謝謝。 – BrandonS 2011-01-31 14:37:18