当前位置: 首页 > 知识库问答 >
问题:

表已包含utf8字符集,某些字符中仍有问号

南宫正阳
2023-03-14

我试图改变我的编码为utf-8,下面是我到目前为止。

表Charset

MBString安装

extension=php_mbstring.dll

mbstring在php中配置。ini

mbstring.language = Neutral
mbstring.internal_encoding = UTF-8
mbstring.encoding_translation = On /*updated it to mbstring.encoding_translation = 0*/
mbstring.http_input = auto         /*updated it to mbstring.http_input = pass*/
mbstring.http_output = UTF-8       /*updated it to mbstring.http_output = pass*/
mbstring.detect_order = auto  
mbstring.substitute_character
default_charset = UTF-8
mbstring.func_overload = 7

标题

header('Content-type: text/html; charset=UTF-8');

HTML元标记

<meta http-equiv="Content-type" value="text/html; charset=UTF-8" />

超文本标记语言代码

<label for="article_body_pun">Article (Foreign): </label>
<textarea cols="100" rows="10" name="article_body_pun"></textarea><br />

PHP

$article_body_pun   = $_REQUEST['article_body_pun'];

SQL

$insert_article = "INSERT INTO articles(article_body_pun) 
                      VALUES ('{$article_body_pun}'')";

要插入的PHP

$article_query = mysqli_query($connectDB, $insert_article);

应该存储的数据-

原始数据存储

汉è¯Â

添加mysqli_set_charset($ConnectDB,"utf8");如@Pekka所建议的,输出变成(下面也有评论)

æ±è¯

经过一些故障排除,数据部分存储正确。

�?语

尝试通过mb_detect_encoding检查字符集,并在拉取的结果上获得UTF-8

在检查firefox中的字符集时。

这似乎是正确的,但在某些字符上仍然有问号。有没有进一步的建议使这项工作?

共有2个答案

扶杜吟
2023-03-14

我在朋友的帮助下解决了这个问题,数据没有正确地从HTML表单插入数据库。似乎是我的mbstring配置导致了问题,必须更新以下内容:

mbstring.http_input = pass
mbstring.http_output = pass
mbstring.encoding_translation = 0

因此,这些值被恢复为默认值,并且工作得非常好。

感谢@Pekka웃 感谢威廉的帮助。

潘宸
2023-03-14

您就快到了:确保mySQL连接也被编码为UTF-8。

详细信息请查看UTF-8。

 类似资料:
  • 问题内容: 我正在尝试从文本文件中读取文本,读取行,删除包含特定字符串的行(在这种情况下为“坏”和“顽皮”)。我写的代码是这样的: 我这样写,但没有成功。 重要的一件事是,如果文本的内容是这样的: 我不希望输出有空行。所以不喜欢: 但是像这样: 我应该从上面的代码中编辑什么? 问题答案: 您可以像这样使代码更简单,更易读 使用上下文管理器和任何。

  • 问题内容: 在Python中,如何检查字符串是否仅包含某些字符? 我需要检查仅包含a..z,0..9和的字符串。(句号),没有其他字符。 我可以遍历每个字符并检查字符是a..z还是0..9或。但这会很慢。 我现在不清楚如何使用正则表达式进行操作。 这个对吗?您可以提出更简单的正则表达式还是更有效的方法? 问题答案: 决赛(?) 答案,包装在函数中,带有注释的交互式会话: 注意:在此答案中还有一个比

  • 问题内容: 我正在考虑使用删除字符串中的某些字符。目前尚不清楚将要删除哪些字符(即我想删除哪些字符),但是我会假定任何字符都是有效的(例如和之类的东西,等等)。 我遇到了http://www.java-tips.org/java-se-tips/java.lang/strip-certain-characters- from-a-string.html, 但是肯定有比遍历每个字符更好的方法… 有什

  • 当我尝试对输入进行限制时,我在java中遇到了很多麻烦。在此示例中,我需要字符串代码仅接受和等符号。我如何检查以确保没有数字、字母或其他符号?谢谢

  • 我刚刚将我的mysql数据库从utf8转换为utf8mb4,以便支持Emojis,但现在我有一个编码问题。如果我用php打印文本,通常会显示特殊字符,但它们会在数据库中保存为LATIN1ü 我遵循这个指南https://mathiasbynens.be/notes/mysql-utf8mb4 在php中,我在建立连接后设置了这样的字符集 在转换之前,ä被保存为ä,ö被保存为ö等等。 现在它:ü-

  • 问题内容: 我对此感兴趣 ,它将在给定的$ string中搜索$ char1和$ char2,如果找到了该字符串,则从这两个字符之间的子字符串中清除$ string, 包括 $ char1和$ char2本身。 例: 现在,$ string应该只包含 有人有快速解决方案吗? 问题答案: