그렇게해야합니다. 데이터베이스 연결 후이 코드를 사용하십시오.
mysql_query("SET NAMES 'utf8'");
mysql_query("SET CHARACTER SET utf8");
mysql_query("SET COLLATION_CONNECTION = 'utf8_unicode_ci'");
모든 페이지에서 utf-8 charset을 사용하십시오. , 파일에 저장을
<?php
// Database connection details
$db_srv = 'localhost';
$db_usr = 'user';
$db_pwd = 'password';
$db_name = 'database name';
// New charset information, update accordingly if not UTF8
$char_set = 'utf8';
$char_collation = 'utf8_general_ci';
header('Content-type: text/plain');
// extablish the connection
$connection = mysql_connect($db_srv,$db_usr,$db_pwd) or die(mysql_error());
// select the databse
$db = mysql_select_db($db_name) or die(mysql_error());
// get existent tables
$sql = 'SHOW TABLES';
$res = mysql_query($sql) or die(mysql_error());
// for each table found
while ($row = mysql_fetch_row($res))
{
// change the table charset
$table = mysql_real_escape_string($row[0]);
$sql = " ALTER TABLE ".$table."
DEFAULT CHARACTER SET ".$char_set."
COLLATE ".$char_collation;
mysql_query($sql) or die(mysql_error());
echo 'The '.$table.' table was updated successfully to: '.$char_set."\n";
}
// Update the Collation of the database itself
$sql = "ALTER DATABASE CHARACTER SET ".$char_set.";";
mysql_query($sql) or die(mysql_error());
echo 'The '.$db_name.' database collation';
echo ' has been updated successfully to: '.$char_set."\n";
// close the connection to the database
mysql_close($connection);
?>
, db_charset.php
말을 당신의 웹 사이트의 루트에 업로드하고 있습니다 :
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
이 페이지를 확인하면, 누군가 내가 설정 이름 대신 mysql_set_charset을 사용하도록 제안했다. 이전에이 설정을 사용하고 있었으므로 http://stackoverflow.com/questions/9703536/bad-characters-when-printing-text- from-utf8-unicode-ci-mysql-table –
ı 이것을 사용하면 완벽하게 작동합니다. 그가 사용하는 것처럼 두 가지 모두 사용하고 이름을 설정하고 charset을 설정합니다. – guybennet
실제로 문제는 인쇄 된 텍스트가 아니라 문제는 mysql에 저장된 텍스트에 관한 것입니다. 나는 그들을 대체해야한다. –