我希望每个表和数据库(要创建)都是与emojis一起使用的utf-8.我知道我需要在里面定义一些变量my.cnf:
init_connect='SET collation_connection = ??? '
init_connect='SET NAMES ???'
character-set-server = ???
collation-server = ???
Run Code Online (Sandbox Code Playgroud)
但是,我不知道该放什么???.我放在里面my.cnf怎么样?
可能重复:
UTF-8一直通过
我正在开发一些其他人已经开发的网站上的新功能.
我遇到了charset的问题.
我看到数据库在utf8中有一些表,在latin1中有一些表
所以我试图转换UTF8中的所有表.
我为一个表做了这个(现在这个表的字段也是utf8),但是没有成功.
我正在使用正常的mysql连接.我必须把任何配置说它必须与utf8连接到数据库?如果是女巫一个?
在我的HTML中,我有:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Run Code Online (Sandbox Code Playgroud)
看起来有些字母有效,有些则显示问号.例如,它无法显示"与此不同:"
我有一个PHP代码,需要将DB表数据编码为json.所以我使用了json_encode().
我使用这里给出的表格 - http://www.geekality.net/2011/08/21/country-names-continent-names-and-iso-3166-codes-for-mysql/
对于不同的输入,此代码的行为似乎不同.
查询 - $query = "SELECT * FROM countries ";不返回任何json值.
查询 - $query = "SELECT * FROM countries where continent_code='AS'";正确返回json值.
然而,$query = "SELECT * FROM countries where continent_code='EU'";也没有返回任何东西.
类似'NA','AF'不起作用,其他人工作完美.
我对PHP的json_encode的这种行为很奇怪.
这是我的代码.
<?php
$con=mysqli_connect('localhost','xxxx','xxxxx','joomla30');
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$result = mysqli_query($con,"SELECT * FROM countries where continent_code='EU'") or die (mysqli_error($con));
while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
$orders[] = array(
'CountryCode' => $row['code'], …Run Code Online (Sandbox Code Playgroud) 这是我的sql:
INSERT INTO comments (createdate,userid,profileid,comment,status)
VALUES (1449503167,65704,65704,'@Mr_S66 Wish I was There For The Xmas Party I Miss My Studio 66 Family 😜',15)
Run Code Online (Sandbox Code Playgroud)
这是我的评论架构:
+------------+---------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+---------------+------+-----+---------+----------------+
| commentid | int(11) | NO | PRI | NULL | auto_increment |
| parentid | int(11) | YES | | 0 | |
| refno | int(11) | YES | | 0 | |
| createdate | int(11) | YES | …Run Code Online (Sandbox Code Playgroud) 我正在为Symfony2开发一个法国协会网站的新闻系统.在显示重音和HTML时,我遇到了麻烦.
在twig视图中,我只输出变量:
{{ article.body }}
Run Code Online (Sandbox Code Playgroud)
如果我将重音直接插入数据库中,如下所示:'é',甚至不显示变量.
如果我插入它:é它保持不变.
HTML显示为文本.
我也试过这个autoescape函数(设置为true和false),没有成功:
{% autoescape true %}
{{ article.body }}
{% endautoescape %}
Run Code Online (Sandbox Code Playgroud)
有什么建议?非常感谢
当我转储我的模型的属性并且它具有重音时,它返回此"b"前缀
dump($venda_item->produto->nomeproduto); // b"teste téste"
Run Code Online (Sandbox Code Playgroud)
我的数据库设置为utf8和utf8_general_ci排序规则
Malformed UTF-8 characters, possibly incorrectly encoded当我在json中返回响应时,这会导致以下错误
$json_response = Response::json($response, $this->getStatusCode(), $headers);
Run Code Online (Sandbox Code Playgroud)
我发现,如果我死了并将记录转储到网络路线上,它显示正常 teste téste
Route::get('/', function () {
dd(App\Vendasitem::where('codigovi', 112685)->first()->produto->nomeproduto);
}
Run Code Online (Sandbox Code Playgroud)
否则,如果我在控制器或请求和我试过的其他文件中做同样的事情,它会继续使用"b"前缀返回给我
如果我像这样保存我的记录PROMO - VIRICAPS (GUARANá + POLIVIT) 60 CáPS - CAIXA 18 UND,dump($venda_item->produto->nomeproduto);它会返回带有重音的正确结果.
我的所有数据库,包括列都设置为utf8mb4和utf8mb4_unicode_ci
我有一个表格,一些文字和文字是希腊字母,当我使用SQL工具并选择从这个表中的数据显示正确

但是,当我使用mysql_fetch数组显示我的网站前端时,当echo显示如下

任何人都知道如何修复此错误谢谢.
我有阿拉伯字符的问题,当我做json_encode()它总是返回????,在数据库中所有字段和数据库是utf8
我的代码:
$query = mysql_query("SELECT * FROM `Names`");
if (!$query) {
$message = 'Invalid query: ' . mysql_error() . "\n";
die($message);
}else
{
while ($row = mysql_fetch_assoc($query))
{
$result[] = array(
'Mid' => $row['Mid'],
'Uid' => $row['Uid'],
'Cid' => $row['Cid'],
'Name' => $row['Name'],
'city' => $row['city'],
'status' => $row['status'],
'Mobile' => $row['Mobile'],
'Phone' => $row['Phone'],
'Email' => $row['Email']);
}
header('Content-Type: application/json; charset=utf-8');
echo json_encode($result);
}
Run Code Online (Sandbox Code Playgroud)
结果如下:
[{"Mid":"17","Uid":"1","Cid":"8","Name":"???? ?? ??????? ?? ???","city":"?????",
Run Code Online (Sandbox Code Playgroud)
请帮我
我正在使用JavaScipt通过AJAX POST将数据发送到PHP脚本的页面上工作。问题是,如果输入的语言不是基于拉丁语的,我最终会在MySQL表中存储乱码。拉丁字母效果很好。
页面本身能够呈现UTF-8字符,如果它们位于页面加载时提供的数据中,这就是我要努力解决的问题。
??????
并保存。请参阅浏览器开发工具中的网络POST请求。
该帖子是通过以下JS函数制作的
function createEmptyStack(stackTitle) {
return $.ajax({
type:'POST',
url:'ajax.php',
data: {
"do": 'createEmptyStack',
newTitle: stackTitle
},
dataType: "json"
});
}
Run Code Online (Sandbox Code Playgroud)
这是我的PHP代码。
header('Content-Type: text/html; charset=utf-8');
$newTitle = trim($_POST['newTitle']);
$db->query("
INSERT INTO t1(project_id, label)
VALUES (".$_SESSION['project_id'].", '".$newTitle."')");
Run Code Online (Sandbox Code Playgroud)
当我像这样检查页面上的编码时:
mb_detect_encoding($_POST['newTitle'], "auto");
Run Code Online (Sandbox Code Playgroud)
我得到结果:UTF-8
我还尝试了以下标头:
header("Content-type: application/json; charset=utf-8");
Run Code Online (Sandbox Code Playgroud)
应该将数据存放在的MySQL表排序规则设置为utf8_general_ci
我还有另一个页面,该页面具有一种形式,用户可以在其中填充相同的表格,并且可以与任何语言完美配合。当我在另一页上查看为什么它能够将相似的数据成功插入db时,我看到以下上面的插入查询:
mysql_query("SET NAMES utf8");
Run Code Online (Sandbox Code Playgroud)
我尝试在查询上方添加同一行,以使数据看起来仍然很乱。我还尝试了以下几种替代方法:
mysql_query("SET CHARACTER SET utf8 ");
Run Code Online (Sandbox Code Playgroud)
和
mysql_set_charset('utf8', $db);
Run Code Online (Sandbox Code Playgroud)
...但无济于事。我被踩了。需要帮助弄清楚它。
环境:
PHP 5.6.40(cgi-fcgi)
MySQL 5.6.45
更新
我进行了更多测试。
我用阿拉伯语短语“这是测试”-??? ??????
看来ajax.php代码可以正常工作。db插入后,它返回UTF-8编码的值,如下所示:“ \ u0647 \ u0630 \ u0627 …
我有一个内容的mysql表
结构在这里:

现在我有一条记录:

我想阅读并打印此表的内容为html这是我的代码:
<?php
include("config.php");
$global_dbh = mysql_connect($hostname, $username, $password)
or die("Could not connect to database");
mysql_select_db($db)
or die("Could not select database");
function display_db_query($query_string, $connection, $header_bool, $table_params) {
// perform the database query
$result_id = mysql_query($query_string, $connection)
or die("display_db_query:" . mysql_error());
// find out the number of columns in result
$column_count = mysql_num_fields($result_id)
or die("display_db_query:" . mysql_error());
// Here the table attributes from the $table_params variable are added
print("<TABLE $table_params >\n");
// optionally print a bold header at top …Run Code Online (Sandbox Code Playgroud)