- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
你好 friend ,我知道这个问题在 stackoverflow 中,但我搜索了所有问题的答案,但没有为我搜索。我的问题是 mysql 和 php 土耳其语字符问题。
我正在使用这个 <meta>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
但是土耳其角色看起来是这样的:üÅ�üdü
我尝试这样的数据库连接:
<?php
define('DB_SERVER', 'localhost');
define('DB_USERNAME', 'root');
define('DB_PASSWORD', 'root');
define('DB_DATABASE', 'test');
mysql_query("SET NAMES UTF8");
$connection = mysql_connect(DB_SERVER, DB_USERNAME, DB_PASSWORD) or die(mysql_error());
$database = mysql_select_db(DB_DATABASE) or die(mysql_error());
?>
但土耳其字符问题仍然存在。
我的phpmyadmin 3表总和整理:utf8_general_ci
消息表整理:latin1_swedish_ci
<?php
$Wall = new Wall_Updates();
if(isSet($_POST['update']))
{
$update=mysql_real_escape_string($_POST['update']);
$data=$Wall->Insert_Update($id,$update);
if($data)
{
$msg_id=$data['msg_id'];
$message=tolink(htmlentities($data['message']));
$time=$data['created'];
$id=$data['uid_fk'];
$name=$data['name'];
$face=$Wall->Gravatar($id);
//$commentsarray=$Wall->Comments($msg_id);
?>
这样截图链接click我怎样才能解决土耳其字符的问题。
$.ajax({
type: "POST",
url: "comment_ajax.php",
data: dataString,
cache: false,
success: function(html){
$("#commentload"+ID).append(html);
$("#ctextarea"+ID).val('');
$("#ctextarea"+ID).focus();
}
});
}
return false;
});
最佳答案
根据您的 screenshot 判断,数据库包含 HTML 编码的实体,这意味着在将数据保存到数据库之前的某个时间,您正在通过应用 htmlentities
来更改它。在上面。
不幸的是,如果您的 PHP 版本是 < 5.4
可选参数 $encoding
不默认为 UTF-8
所以它将您的字符串视为 ASCII。
因为这种多字节字符在保存之前被分解为单字节字符和 HTML 编码。
当从数据库中检索数据时,您的 HTML 源代码将具有 HTML 实体(例如:Ã
),但您的浏览器将按照您看到的方式呈现它们。
未使用 htmlentities
应该可以解决您的问题并推荐使用,或者您可以尝试使用 html_entity_decode
在输出数据之前(不确定它是否会造成比修复更多的麻烦)。
查看站点的 HTML 源代码并检查从数据库中提取的文本中是否有任何实体(例如:Ã
)。
关于php 和 mysql 数据库土耳其字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23264405/
2016 年土耳其政府决定保留 GMT+3 时区以节省夏令时,但在 Android 上: Calendar calendar = Calendar.getInstance(); TimeZone tz
浏览器上 JavaScript 中的日期计算问题。有 3 个参数 -从日期、天数和到日期 从使用 JavaScript 中的日历组件选择的日期 = 30/10/2016输入的天数 = 2 基于没有。应
有人可以帮忙解决以下问题吗? 我的操作系统是最新的 windows 10,时区是 (UTC+0300) Istanbul(夏令时已被移除,时区设置为 +0300 在土耳其的最新规定之后 - 2016
我是一名优秀的程序员,十分优秀!