相关疑难解决方法(0)

mysql数据库中的波斯字符问题

当我将波斯数据插入数据库时​​,数据将保存如下: †Ø¯Ø± 50 لیتری

但是当我从数据库中读取数据并在网络上回显时,它们就是好的.

我需要直接读取数据库中的数据.你的解决方案是什么?

Mysql设置:

服务器连接排序规则:UTF8_general_ci

Html文件字符集是utf8.

php mysql persian

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

TinyMCE UTF-8保存到MySQL数据库

我将TinyMCE输入发送到POST(一个php文件),然后将其保存在MySQL数据库中.

输入具有UTF-8(土耳其语字符).因此,当我输入TürkçeTinyMCE输入并将其发送到post时,PHP后端会收到此字符串:

<p>T&uuml;rk&ccedil;e</p>
Run Code Online (Sandbox Code Playgroud)

如何将其转换回来,Türkçe以便我可以在MySQL中正确保存?

PS:

MySQL设置为utf8_unicode_ci排序规则,因此可以正确保存UTF-8字符.

我想我需要用PHP转换它们.

或者TinyMCE正确发送它们的方法?

谢谢你的帮助 !

PS 2:

我认为这个问题是关于TinyMCE本身的,所以我想解决方案是转换TinyMCE输出(在TinyMCE javascript或接收PHP脚本中).

即:我不认为改变我的PHP配置是解决方案.

PS 3

我想这些字符就像&uuml;土耳其字符的HTML等价物一样,所以htmlspecialchars_decode()应该可以使用,但它不接受土耳其字符.也许是一种htmlspecialchars_decode解码UTF-8字符的方法?

php mysql tinymce utf-8 character-encoding

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

如何解码收到的电子邮件的主题行的UTF8字符集

在PHP中使用IMAP电子邮件标头时,我遇到了与主题行编码相关的问题.当我尝试mb_decode_mimeheader(根据重复的问题)然后我没有得到理想的结果:

$subject = "=?UTF-8?Q?=e2=99=a3?= Your winning day =?UTF-8?Q?=e2=99=a3?=";
echo mb_decode_mimeheader($subject);
Run Code Online (Sandbox Code Playgroud)

输出:

? Your winning day ?
Run Code Online (Sandbox Code Playgroud)

php

3
推荐指数
1
解决办法
2386
查看次数

MySQL和PHP:带有西里尔字符的UTF-8

我正在尝试在MySQL表中插入Cyrillic值,但编码存在问题.

PHP的:

<?php

$servername = "localhost";
$username = "a";
$password = "b";
$dbname = "c";

$conn = new mysqli($servername, $username, $password, $dbname);

mysql_query("SET NAMES 'utf8';"); 
mysql_query("SET CHARACTER SET 'utf8';"); 
mysql_query("SET SESSION collation_connection = 'utf8_general_ci';"); 

if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 

$sql = "UPDATE  `c`.`mainp` SET  `search` =  'test ????' WHERE  `mainp`.`id` =1;";

if ($conn->query($sql) === TRUE) {   
}
$conn->close();

?>
Run Code Online (Sandbox Code Playgroud)

MySQL的:

| id |    search   |            
| 1  |   test ав |
Run Code Online (Sandbox Code Playgroud)

注意:PHP文件是utf-8,数据库排序规则utf8_general_ci

php mysql utf-8

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

为什么我的 html 不显示从我的数据库中提取的特殊字符

我在我的 php 文件的顶部包含了这个:

<?php
    header('Content-Type: text/html; charset=UTF-8');
?>
Run Code Online (Sandbox Code Playgroud)

我这样做是因为我的 file.php 没有在 html 文件或从我的数据库查询的数据中显示“á、é、í、ó、ú 或 ¿”。

在我放置了 'header('Content-Type: text/html; charset=UTF-8');' 之后 代码行我的 html 页面开始理解 html 文件中的特殊字符,但是,从我的数据库收到的数据现在有一个带问号的黑色菱形。

我的数据库的排序规则是“utf8_spanish_ci”

在 html 标签中,我尝试放置 lang=es 但这从未奏效我也尝试将元标签放入 head 标签中

<!DOCTYPE html>
<html lang=es>
<head>
     <meta http-equiv="content-type" content="text/html; charset=UTF-8">
<head>
Run Code Online (Sandbox Code Playgroud)

我也试过:

<meta charset="utf-8">
Run Code Online (Sandbox Code Playgroud)

和:

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
Run Code Online (Sandbox Code Playgroud)

我不知道是什么问题。当我将数据直接插入数据库时​​,特殊字符就在那里,但是当我从 file.php 插入它们时,它们会出现随机字符。

有谁知道为什么会这样?

html php mysql collation

3
推荐指数
1
解决办法
3163
查看次数

编码问题.我哪里错了?

我正在尝试从我的服务器传递数据并将其显示在UWP Windows应用程序中.数据存储在mySQL数据库中

在此输入图像描述 在此输入图像描述

这是通过PHP输出到这里的网页http://www.rwscripts.com/scorealerts/v3/request.php?action=getTeams使用此代码

// Serialize the data structure   
    $result = json_encode($data,JSON_PRETTY_PRINT);
    // Display the XML document   
    header('Content-type: application/json; charset=utf-8'); 

    print $result;
Run Code Online (Sandbox Code Playgroud)

然后我在我的应用程序中使用HttpWebRequest读取它,然后使用JSON.net反序列化JSON

            JArray obj = JsonConvert.DeserializeObject(str.Trim()) as JArray;
            if (obj == null || obj.Count == 0) return;

            foreach (NotificationTeam nt in from JObject team in obj
                select
                    new NotificationTeam
                    {
                        Title = team.Value<string>("teamName"),
                        TeamID = team.Value<int>("tid"),
                        Followers = team.Value<int>("followers")
                    })
            {
                nt.Notifications = ScoreManager.GetMgr().GetTeamNotification(nt.TeamID);

                notificationTeams.Add(nt);
            }
Run Code Online (Sandbox Code Playgroud)

在我的应用程序中显示的输出是这样的

在此输入图像描述

需要更改流的哪一部分才能正确显示unicode字符?

php c# mysql json.net uwp

3
推荐指数
1
解决办法
860
查看次数

为什么我的CSS显示 ?

系统详细信息:
服务器:Apache,Ubuntu 16.02
客户端:Windows 10,Chrome

我的apache配置文件如下所示:

<VirtualHost *:80>
       ServerName mycoolsiteA.mydomain.com
       ServerAlias mycoolsiteB.mydomain.com

       Alias /static /var/www/python/mysite/static
       Alias /templates /var/www/python/mysite/templates

       WSGIDaemonProcess my_app user=www-data group=www-data threads=5
       WSGIScriptAlias / /var/www/python/mysite/start.py
       WSGIScriptReloading On

       <Directory /var/www/python/mysite>
               WSGIProcessGroup my_app
               WSGIApplicationGroup %{GLOBAL}
               order deny,allow
               Allow from all
       </Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

当我在浏览器中加载CSS时,它显示以下内容.但是,这很随机.它"有时"有效,有时则无效.

我的示例网址是:https: //mycoolsiteA.mydomain.com/static/css/bs/bootstrap.min.css

我们有一个防火墙设备可以自动将http重定向到https,但我正在用https直接加载css.

结果如下: 在此输入图像描述

然而,如果我刷新几次,或者在末尾添加ar = number,它将清除缓存并加载.但是,它会再次随机执行,直到我再次清除缓存.

在这里加载和工作:

在此输入图像描述

有什么想法,方向可以解决这个问题吗?

css apache https character-encoding flask

3
推荐指数
1
解决办法
122
查看次数

特别的?哦 字符破坏UTF-8编码

我网站上的用户在文本字段中输入了特殊字符:哦

这些字符显然不是我可以从键盘输入的äö字符,因为当我将它们粘贴到程序员的记事本中时,它们分为两个部分:

在我网站的服务器端,我有一个PHP脚本,该脚本可识别用户输入中的非法特殊字符,并使用来将它们高亮显示为html错误消息preg_replace

字符拆分也在那里发生,所以我得到一个普通的字母a和o以及一个奇怪的孤独xCC字符,该字符破坏了UTF-8字符串编码,json_encode结果导致函数失败。

处理这些字符的最佳方法是什么?我应该尝试替换特殊的吗?哦 字符并将其替换为常规字符,或者我能以某种方式捕获损坏的UTF-8字符并删除或替换它们吗?

php encoding utf-8

3
推荐指数
1
解决办法
495
查看次数

PHP:如何打印/回声口音/utf-8

我得到了基本结构:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
Run Code Online (Sandbox Code Playgroud)

和输入:

<input type="text" name="var"/>
Run Code Online (Sandbox Code Playgroud)

得到:

$var = iconv('UTF-8', 'ASCII//TRANSLIT', $_POST['var']);
//or
$var = $_POST['var'];
Run Code Online (Sandbox Code Playgroud)

并显示如下:

echo $var;
//or
print_r($var);
//or
print_r(iconv('UTF-8', 'ASCII//TRANSLIT', $var));
Run Code Online (Sandbox Code Playgroud)

我尝试强制一个新的标题:

header('Content-type: text/html; charset=utf-8');
Run Code Online (Sandbox Code Playgroud)

并使用 .htaccess:

AddDefaultCharset UTF-8
Run Code Online (Sandbox Code Playgroud)

没有任何效果:(唯一出现的是:jos?而不是josé

怎么解决?

php utf-8

2
推荐指数
1
解决办法
8881
查看次数

PDO连接密码不能有$#!人物

我用 !我的MySQL用户密码中的@#$

但是在我的密码中使用这些字符时,PDO无法连接到MySQL服务器

$servername = "localhost";
$username = "test";
$password = "!@#$test";
$dbname = "test";

try {
  $test = $_POST['test'];
  $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, 
  $password, array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
  // set the PDO error mode to exception
  $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

  // prepare sql and bind parameters
  $stmt = $conn->prepare("INSERT INTO test (test) 
  VALUES (:test)");
  $stmt->bindParam(':test', $test);


  $stmt->execute();
Run Code Online (Sandbox Code Playgroud)

它给出了这个错误:

SQLSTATE [HY000] [1045]拒绝访问用户'test'@'localhost'(使用密码:YES)

从密码中删除!@#$时,它可以正常工作

php mysql pdo

2
推荐指数
1
解决办法
887
查看次数

标签 统计

php ×9

mysql ×6

utf-8 ×4

character-encoding ×2

apache ×1

c# ×1

collation ×1

css ×1

encoding ×1

flask ×1

html ×1

https ×1

json.net ×1

pdo ×1

persian ×1

tinymce ×1

uwp ×1