我在mysql中有一个utf8_turkish_ci编码的表。 colomn也编码为utf8_turkish_ci(varchar 250)。但土耳其字符显示不正确。正确显示正文中手写的土耳其字符。我检查了标题。页眉是:
Cache-Control:no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Connection:Keep-Alive
Content-Length:405
Content-Type:text/html; charset=utf-8
Date:Wed, 25 Sep 2013 04:50:39 GMT
Expires:Thu, 19 Nov 1981 08:52:00 GMT
Keep-Alive:timeout=5, max=100
Pragma:no-cache
Server:Apache/2.4.3 (Win32) OpenSSL/1.0.1c PHP/5.4.7
X-Powered-By:PHP/5.4.7
土耳其人的角色是:ÜüİıÖöĞğŞş
网页侧
<?php
header('Content-Type: text/html; charset=utf-8');
?>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<?php
我想留在utf8。如何从MySQL获取数据并在网页中正确显示?我尝试了很多解决方案:/
答案 0 :(得分:1)
确保您使用set names utf8
。如果使用PDO
,则可以在与数据库的连接中执行以下操作
$db = new PDO($dsn, $user, $pass, [
PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'UTF8'"
]);
答案 1 :(得分:0)
将此行放在您选择数据的查询之上。
mysql_query("SET NAMES 'utf8'");
希望这会有所帮助。