相关疑难解决方法(0)

在MySQL中,我在my.cnf中放置了什么,以便所有表格都是UTF-8默认情况下与emojis一起使用?

我希望每个表和数据库(要创建)都是与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怎么样?

mysql database

16
推荐指数
1
解决办法
823
查看次数

PHP mysql charset utf8问题

可能重复:
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 mysql utf-8 character-encoding

13
推荐指数
1
解决办法
6万
查看次数

php json_encode不能部分地处理数组

我有一个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)

php json

13
推荐指数
2
解决办法
3万
查看次数

ERROR 1366(HY000):字符串值不正确:'\ xF0\x9F\x98\x9C'表示第1行的"注释"列

这是我的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)

php mysql

13
推荐指数
2
解决办法
2万
查看次数

Twig UTF8字符编码 - Symfony2

我正在为Symfony2开发一个法国协会网站的新闻系统.在显示重音和HTML时,我遇到了麻烦.

在twig视图中,我只输出变量:

{{ article.body }}
Run Code Online (Sandbox Code Playgroud)

如果我将重音直接插入数据库中,如下所示:'é',甚至不显示变量.

如果我插入它:&eacute;它保持不变.

HTML显示为文本.

我也试过这个autoescape函数(设置为truefalse),没有成功:

{% autoescape true %}
    {{ article.body }}
{% endautoescape %}
Run Code Online (Sandbox Code Playgroud)

有什么建议?非常感谢

html utf-8 twig

12
推荐指数
2
解决办法
3万
查看次数

带有重音的记录上带有"b"前缀的字符串

当我转储我的模型的属性并且它具有重音时,它返回此"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"前缀返回给我

更新2

如果我像这样保存我的记录PROMO - VIRICAPS (GUARANá + POLIVIT) 60 CáPS - CAIXA 18 UND,dump($venda_item->produto->nomeproduto);它会返回带有重音的正确结果.

我的所有数据库,包括列都设置为utf8mb4utf8mb4_unicode_ci

php encoding laravel

12
推荐指数
1
解决办法
442
查看次数

PHP MySQL希腊字母显示像???? 分数

我有一个表格,一些文字和文字是希腊字母,当我使用SQL工具并选择从这个表中的数据显示正确 SQL查询结果的图像

但是,当我使用mysql_fetch数组显示我的网站前端时,当echo显示如下 在此输入图像描述

任何人都知道如何修复此错误谢谢.

php mysql character-encoding

11
推荐指数
3
解决办法
2万
查看次数

json_encode()不会以良好的方式显示阿拉伯字符

我有阿拉伯字符的问题,当我做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)

请帮我

php json arabic

11
推荐指数
1
解决办法
7315
查看次数

向JS / PHP脚本添加UTF-8支持

我正在使用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 …

javascript php mysql ajax utf-8

11
推荐指数
1
解决办法
319
查看次数

从mysql表中读取utf-8内容

我有一个内容的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)

php mysql utf-8

10
推荐指数
3
解决办法
2万
查看次数

标签 统计

php ×8

mysql ×6

utf-8 ×4

character-encoding ×2

json ×2

ajax ×1

arabic ×1

database ×1

encoding ×1

html ×1

javascript ×1

laravel ×1

twig ×1