Php 更改mysql表字符集

Php 更改mysql表字符集,php,mysql,Php,Mysql,我有一个表,数据是在不久前插入的。php包含的数据和其中的字符集是utf-8 mysql_query("set names utf8"); 现在,我在另一个项目中需要这个表,所有数据都将显示在php mysql默认字符集上 问题:我的数据是波斯语,当我设置字符集utf-8时,一切都正常,但如果没有字符集数据转换为“??”我该怎么办 我想将所有数据从旧表导入新字符集上的新表 试试这个可能对你有帮助 <?php header('Content-Type: text/html; cha

我有一个表,数据是在不久前插入的。php包含的数据和其中的字符集是utf-8

mysql_query("set names utf8");
现在,我在另一个项目中需要这个表,所有数据都将显示在php mysql默认字符集上

问题:我的数据是波斯语,当我设置字符集utf-8时,一切都正常,但如果没有字符集数据转换为“??”我该怎么办


我想将所有数据从旧表导入新字符集上的新表

试试这个可能对你有帮助

<?php

   header('Content-Type: text/html; charset=utf-8');
?>
and then in the connection

<?php
 $dbLink = mysql_connect($argHost, $argUsername, $argPassword);
    mysql_query("SET character_set_results=utf8", $dbLink);
    mb_language('uni'); 
    mb_internal_encoding('UTF-8');
    mysql_select_db($argDB, $dbLink);
    mysql_query("set names 'utf8'",$dbLink);
?>

然后在连接中

@另外,使用mysqldump,您可以从旧的_表中转储数据,然后将其导入具有新字符编码的新_表中

mysqldump -u user -p --no-create-info schema old_table > old_table.dump
mysql -u user -p schema new_table < old_table.dump
mysqldump-u user-p--no create info schema old_table>old_table.dump
mysql-u user-p schema new_table

这将比通过PHP进行转换快得多。

检查这个:并使用UTF-8。如果数据是unicode,请使用unicode。“其他项目”没有理由将字符集的决定权留给MySQL。我不想设置字符集utf-8,我想将我的旧表转换为新表,我不需要为这个表更改我的字符集!!有可能吗?!!
mysqldump -u user -p --no-create-info schema old_table > old_table.dump
mysql -u user -p schema new_table < old_table.dump