我有一个mysql数据库备份。而这个备份排序规则是 utf8-general-ci。这是 vbulletin 的备份。
这是数据库中一篇文章中的一句话:
Ticaret Merkezi sizin ticaret yapmanýzý saðlayan müthiþ bir platformdur。Bu platformda internet ile baðý olmayan tüccarlar için ticaret yapma olanaðý saðlanmýþtýr。Bazý nedenlerden dolayý kendine 网站 kuramayan tüccarlar burada kendi ürünlerini tanýtabilecek ve yine burada bir çok tüccar ile sohbet edebilecek。
Bir çok satýcý ve müþteri arasýnda bað kuracak bu sistem sayesinde ticaret daha kolaylaþacak。
我的html代码是这样的
<html lang="tr">
<head>
<meta charset="utf8">
</head>
</html>
如果我不使用 lang='tr' 和 charset='utf-8'。我的数据变成了这个
Ticaret Merkezi sizin ticaret yapmanýzý saðlayan müthiþ bir platformdur。Bu platformda internet ile baðý olmayan tüccarlar için ticaret yapma olanaðý saðlanmýþtýr。Bazý nedenlerden dolayý kendine 站点 kuramayan tüccarlar burada kendi ürünlerini tanýtabilecek ve yine burada birçok tüccar ile sohbet edebilecek。
Bir çok satýcý ve müþteri arasýnda bað kuracak bu sistem sayesinde ticaret daha kolaylaþacak。
但是 lang='tr' 和 charset='utf-8' 并没有转换所有内容。
事实上,我对这个问题没有任何问题。但是这篇文章是这样保存到数据库中的。
如何转换这些字符?我不想使用 str_replace。
ý => ı, ð => ğ, þ => ş 等。
我的数据库连接部分
public function __construct() {
$this->db_connection = mysql_connect($this->_server, $this->_dbuser, $this->_dbpassword) OR die ("Veritabanı Sunucusuna Bağlanılamadı!" . mysql_error() );
mysql_query('SET NAMES utf8');
mysql_query('SET CHARACTER_SET utf8');
mysql_query("SET COLLATION_CONNECTION = 'utf-8'");
mysql_select_db($this->_db) or die("Veritabanı Bulunamadı" . mysql_error() );
}