我通过网络服务获取以下字样:André
从Python,值看起来像:"Andr\u00c3\u00a9".然后使用json.loads以下方法解码输入:
>>> import json
>>> json.loads('{"name":"Andr\\u00c3\\u00a9"}')
>>> {u'name': u'Andr\xc3\xa9'}
Run Code Online (Sandbox Code Playgroud)
当我将上述内容存储在utf8 MySQL数据库中时,使用Django将数据存储如下:
SomeObject.objects.create(name=u'Andr\xc3\xa9')
Run Code Online (Sandbox Code Playgroud)
从mysql shell查询name列或在网页中显示它给出:
André
网页显示在utf8中:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Run Code Online (Sandbox Code Playgroud)
我的数据库在utf8中配置:
mysql> SHOW VARIABLES LIKE 'collation%';
+----------------------+-----------------+
| Variable_name | Value |
+----------------------+-----------------+
| collation_connection | utf8_general_ci |
| collation_database | utf8_unicode_ci |
| collation_server | utf8_unicode_ci |
+----------------------+-----------------+
3 rows in set (0.00 sec)
mysql> SHOW VARIABLES LIKE 'character_set%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 …Run Code Online (Sandbox Code Playgroud) 我试图对一个从我的数据库中提取数据的PHP函数进行Ajax调用.我遇到了一个问题.
我的查询看起来像这样
$query = "SELECT * FROM mytable WHERE field LIKE '%$string%'"
Run Code Online (Sandbox Code Playgroud)
然后我检查查询返回的行数,但是当我输入æøå然后我的查询返回0行,虽然我知道数据库中有条目有æøå..为什么这是
我有这样的字符串
\u041d\u0418\u041a\u041e\u041b\u0410\u0415\u0412
Run Code Online (Sandbox Code Playgroud)
如何将其转换为utf-8编码?什么是给定字符串的编码?感谢您的参与!
可能重复:
UTF-8一直通过
搜索高和低的解决方案.在发布问题之前,我尝试了很多变化.
在phpMyAdmin和html页面中,名称显示相同所需的内容是什么?这甚至可以实现吗?
编辑1:这似乎是一个mysql问题.为什么?因为php生成的html页面总会显示正确的字符.此时,只有数据库显示不正确.
编辑2:澄清.使用下面的代码片段和图片中显示的原始设置,
添加 mysqli_query ( $link, 'SET NAMES utf8' )
结束编辑2
在mysql数据库中,使用phpMyAdmin查看:

这些项目出现在数据库中,如下所示:(我修改了第一个João,使其在数据库中显示正确)
在带有编码设置的html页面中,名称显示为(顺序颠倒和修改后有黑色菱形),

编码方式: <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
我已经尝试将列排序规则更改为utf8_bin,utf8_general_ci,utf8_unicode_ci,所有这些都没有任何变化.还将文档(BBEdit)从UTF-8更改为UTF-8(带BOM),ISO拉丁文1和Windows拉丁文1.其中一些创建了更多的黑色钻石,使问题更加严重.(在图像中设置为UTF-8)我甚至试图使用编码的等价物preg_replaceã,éetc.
简短的故事是,João在页面上输入(上面的内容类型),João在数据库中,João在刷新时进入html页面.
寻找想法.谢谢.
我正在尝试将阿拉伯文本存储到表格中,我搜索了很多,但我没有找到适合我的解决方案,所以这就是我得到的:
$en = "OK";
$ar = "?????";
$link->query("INSERT INTO words (en,ar) VALUES ($en,$ar)");
Run Code Online (Sandbox Code Playgroud)
问题是当我插入它时,阿拉伯文本看起来像ØØ³Ù†Ø§Ù‹我的表格整理和MySQL utf8_general_ci,我的数据库也是如此,我也有mysql_query("SET NAMES 'utf8'"); mysql_query('SET CHARACTER SET utf8');,但它不起作用.
我在Phalcon PHP和MySql中有一个项目。
当必须保留UTF8字符时,将存储这些错误。
例如:我在数据库中保存:nuevadescripciónñññ:nuevadescipciónñññ
我已经在数据库,表和字段中尝试了几种类型的排序规则。
谢谢你的帮助。
我正在尝试将以下字符串转换为: \xe2\x80\x9c\xc3\x83\xc2\xa9\xe2\x80\x9d 到: \xe2\x80\x9c\xc3\xa9\xe2\x80\x9d 。这是一个 latin1 字符,但我无法正确执行。到目前为止,我已经尝试了两个函数,但它们都没有给我正确的输出。
\n\n$translation = 'Cop\xc3\x83 \xc2\xa9 rnico was Italian';\n$translation = mb_convert_encoding($translation, 'utf-8', 'iso-8859-1'); //opt 1\n$translation = iconv('utf-8', 'latin1', $translation); //opt 2\nRun Code Online (Sandbox Code Playgroud)\n\n我从 Api 获取这些数据,所以我不知道数据库中发生了什么。\n这是西班牙语字符串:Cop\xc3\xa9rnico es italiano。\n这是来自 API 的数据:Cop\xc3\x83 \xc2\xa9 rnico 是意大利语\n这是 $translation = bin2hex($translation);\n436f70c38320c2a920726e69636f206973204974616c69616e 的结果
\n\n正确的做法是什么?问候。
\n我将TinyMCE输入发送到POST(一个php文件),然后将其保存在MySQL数据库中.
输入具有UTF-8(土耳其语字符).因此,当我输入TürkçeTinyMCE输入并将其发送到post时,PHP后端会收到此字符串:
<p>Türkçe</p>
Run Code Online (Sandbox Code Playgroud)
如何将其转换回来,Türkçe以便我可以在MySQL中正确保存?
MySQL设置为utf8_unicode_ci排序规则,因此可以正确保存UTF-8字符.
我想我需要用PHP转换它们.
或者TinyMCE正确发送它们的方法?
谢谢你的帮助 !
我认为这个问题是关于TinyMCE本身的,所以我想解决方案是转换TinyMCE输出(在TinyMCE javascript或接收PHP脚本中).
即:我不认为改变我的PHP配置是解决方案.
我想这些字符就像ü土耳其字符的HTML等价物一样,所以htmlspecialchars_decode()应该可以使用,但它不接受土耳其字符.也许是一种htmlspecialchars_decode解码UTF-8字符的方法?
在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) 我正在尝试从我的服务器传递数据并将其显示在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字符?