php - 将特殊字符从数据库转换为普通字符

标签 php mysql utf-8 backup special-characters

我有一个 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 site 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 site 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。

ý => ı, ð => ğ, þ => ş etc.

我的数据库连接部分

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() );
}

最佳答案

我以前遇到过这样的问题。我认为首先您需要确保用于查看从数据库中获取的文章的控制台或编辑器使用的是“utf-8”格式。我的意思是这个问题可能是由控制台引起的,而不是数据库本身引起的。

关于php - 将特殊字符从数据库转换为普通字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17895132/

相关文章:

javascript - 如何使用jquery取消选中复选框

php - 如何使用 PHP 动态添加 CSS 代码?

php - preg_match() 似乎总是返回 0 个匹配项

php - 哪种字符编码最适合 levenshtein 和 MySQL Match?

php - 使用 PHP 的 MySQL 简单加密技术

mysql - 函数 SUM 在 MYSQL 中没有按预期工作

MySQL全文不足。创建索引将超过 1000 字节的限制。那怎么办?

php - Yii2如何显示表格中的数据并查询另一个表格中的每一行数据

MySql JSON编码问题

java - 如何强制 javax xslt 转换器使用 utf-8 而不是 html 实体对国家字符进行编码?