检测编码并制作一切UTF-8
我正在从各种RSS提要中读取大量文本,并将其插入数据库中。 当然,提要中使用了几种不同的字符编码,例如UTF-8和ISO 8859-1。 不幸的是,文本的编码有时会出现问题。例: “Fußball”中的“ß”在我的数据库中应如下所示:“Ÿ”。如果它是“”,则正确显示。 有时,“Fußball”中的“ß”在我的数据库中看起来像这样:“ß”。然后,当然会显示错误。 在其他情况下,“ß”另存为“ß”-因此无需进行任何更改。然后它也会显示错误。 如何避免情况2和情况3? 如何使所有内容都使用相同的编码,最好是UTF-8?什么时候必须使用utf8_encode(),什么时候必须使用utf8_decode()(很清楚效果是什么,但是什么时候必须使用这些功能?),什么时候我什么都不要做输入? 如何使所有内容都具有相同的编码?也许具有功能mb_detect_encoding()?我可以为此编写函数吗?所以我的问题是: 如何找出文字使用的编码方式? 我如何将其转换为UTF-8-不管旧的编码是什么? 这样的功能会起作用吗? function correct_encoding($text) { $current_encoding = mb_detect_encoding($text, 'auto'); $text = iconv($current_encoding, 'UTF-8', $text); return $text; } 我已经测试过了,但是没有用。它出什么问题了?