MySQL 无法存储 UTF8 字符

2023-12-04

找不到我无法在 MySQL 数据库中存储 ţ、î、ş 等字符的原因。

我的表定义是:

CREATE TABLE IF NOT EXISTS `gen_admin_words_translated` (
  `id` int(10) NOT NULL AUTO_INCREMENT,
  `word_id` int(10) NOT NULL,
  `value` text COLLATE utf8_unicode_ci,
  `lang_id` int(2) NOT NULL,
  `needUpd` int(1) NOT NULL DEFAULT '1',
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=2689 ;

与数据库的连接是通过以下脚本完成的:

$charset = "UTF8";
$link = mysql_connect($host, $user, $pass);
if(!$link){
    die("Unable to connect to database server.");
}
mysql_selectdb($database);
if(function_exists("mysql_set_charset")){
    mysql_set_charset($charset, $link);
}else{
    mysql_query("SET NAMES $charset");   
}

我在页面的头部有:

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

脚本是:

$text = 'ţ, î, ş';
mysql_query("insert into gen_admin_words_translated (word_id, lang_id, value, needUpd) values (1, 1, '$text', 1)");

我最终在表中得到的是:

SELECT * FROM  `gen_admin_words_translated` 

id   word_id value lang_id needUpd
5166 1034    ?,    1       1

当我运行你的脚本时,它对我有用:

$charset = "UTF8";
$link = mysql_connect('localhost', 'root', '') or die('connection?');
mysql_select_db('test') or die('database?');
if(function_exists("mysql_set_charset")){
    mysql_set_charset($charset, $link);
}else{
    mysql_query("SET NAMES $charset");   
}

$text = 'ţ, î, ş';
mysql_query("insert into gen_admin_words_translated (word_id, lang_id, value, needUpd) values (1, 1, '$text', 1)");

$query = mysql_query('SELECT * FROM  `gen_admin_words_translated`');
$array = mysql_fetch_array($query);

print_r($array)

result:

Array
(
    [0] => 2689
    [id] => 2689
    [1] => 1
    [word_id] => 1
    [2] => ţ, î, ş
    [value] => ţ, î, ş
    [3] => 1
    [lang_id] => 1
    [4] => 1
    [needUpd] => 1
)

要检查的事情:

检查你的网页是否真的是UTF-8,也许你在其他地方设置了一些字符集。

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

文件编码也应该是UTF-8,否则可能会破坏你的字符..

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MySQL 无法存储 UTF8 字符 的相关文章

  • WooCommerce 自定义字段 - 多选

    我在 WooCommerce 的结账页面添加额外的字段 我可以添加文本框等基本字段 但需要添加一个 多 选择框 用户可以在其中选择多个项目 我已经弄清楚如何通过代码添加选择框 如下所示 add action woocommerce afte
  • 如何接收发送到 twilio 号码的短信

    我在 twilio 创建了一个免费帐户 用于通过我的网站发送短信 注册后 我得到了一个 twilio 号码 例如 XXX XXX XXXX 我可以向手机号码发送消息 但我不知道如何使用这个 twilio 号码接收短信 请帮我解决这个问题 T
  • Zend 框架会话丢失

    我有一个注册表单 当用户注册时 它会将他重定向到他的页面 在 Firefox 和 Chrome 中一切正常 但在 Internet Explorer 中则正常 看起来保存用户信息后 会话就关闭了 并且不会将用户重定向到他的页面 我该如何解决
  • phpenmod 显示其他 php 版本的路径

    我的 Ubuntu 机器上安装了 php 7 0 和 7 2 当我执行时php v 它告诉我我正在使用 php 7 2 在 Apache 上我还启用了 php 7 2 当我跑步时phpenmode zip 我明白了 WARNING Modu
  • 如何使用 Google Calendar API 和官方 PHP 库创建全天活动?

    我有这个代码 event new Event event gt setSummary event summary event gt setLocation event location start new EventDateTime sta
  • FPM 与 apache2 无法工作(权限被拒绝)

    我正在尝试使用 apache fastcgi 和 fpm 设置一个 Debian Web 服务器 但我越来越恼火 一旦我停用 mod php 我就会收到以下错误 2014 年 5 月 22 日星期四 12 16 10 错误 客户端 xxx
  • 我应该在 Symfony 中哪里放置既不是控制器也不是模型的类?

    对于我的应用程序包 我需要一些既不是控制器也不是模型的类 例如 我想要一个scorecard具有诸如 技能 效率 美丽 等成员的类 此外 它可能具有诸如 meanScore 之类的成员方法 getters 这样的类在 Symfony 框架中
  • Google Closure 编译器和 multipart/form-data 不起作用

    我正在向 google 闭包编译器 API 服务发出请求 content file get contents file js url http closure compiler appspot com compile post true p
  • 如何捕获反序列化异常?

    PHP 是否可以在以下情况下捕获异常 unserialize 产生错误 一个简单的方法是 ret unserialize foo if ret null Error case 但这不是最现代的解决方案 最好的方法是像前面提到的那样有一个自定
  • MYSql 前 10 名及其他总计

    我的查询运行良好 但我只需要前 10 个供应商 然后我需要将所有剩余的总计放在 所有其他 行中 如果没有单独的查询 我该如何做到这一点LIMIT 10 18446744073709551615 SELECT VENDOR fullname
  • 将 jQuery 与 Selenium WebDriver 结合使用 - 如何将 JSON 对象转换为 WebElement?

    我正在使用 Selenium WebDriver 我想执行 jQuery 代码来查找一些元素 我的代码如下 public function uploadGrantDoc script return itemlist grant file u
  • 从 PHP 启动守护进程

    对于网站 我需要能够启动和停止守护进程 我目前正在做的是 exec sudo etc init d daemonToStart start 守护进程已启动 但 Apache PHP 挂起 做一个ps aux透露sudo它本身变成了僵尸进程
  • 如何编写 bash 函数来包装另一个命令?

    我正在尝试编写一个函数包装器mysql command If my cnf存在于 pwd 中 我想自动附加 defaults file my cnf到命令 这就是我正在尝试的 function mysql if e my cnf then
  • 创建rest api url以连接mysql数据库

    我想学习如何创建一个rest api url 以便我可以使用该url获取信息并将信息发布到我的mysql数据库中 谷歌搜索了很多并阅读了各种文章 但没有找到任何精确的内容可以学习 所有内容均以 about api 开头 以已创建的其余 ur
  • PHP 何时实现了函数使用闭包? [复制]

    这个问题在这里已经有答案了 我在 PHP 手册中找不到解释的部分use 我有代码 num 0 array walk recursive REQUEST function mValue use num num 我的 Eclipse 抱怨 Pa
  • 什么是 PHP session_start()

    它是否基于 cookie 启动当前会话 从 PHP 网站上得到的 PHP如何控制会话 如果我在用户打开我的登录页面时启动会话 我什至可以使用该会话做什么 我可以使用当前会话来获取有关登录用户的信息吗 PHP 会话系统允许您将数据安全地存储在
  • MVC 框架中的缓存策略?

    我编写了自己的小型 PHP MVC 框架 现在正在探索 PHP MVC 框架中的缓存策略 我正在考虑可以缓存什么 在哪里以及如何缓存 我的框架是简单的MVC框架 我有前端控制器 它启动应用程序 注册类自动加载 设置 php 运行时指令 最后
  • 选择查询不适用于使用Parameters.AddWithValue 的参数

    C 中的以下查询不起作用 但我看不出问题所在 string Getquery select from user tbl where emp id emp id and birthdate birthdate cmdR Parameters
  • 使用 yaml 路由描述时如何在运行时获取 Symfony2 中的路由名称?

    在这里你可以找到我的n关于 Symfony2 的第一个问题 我正在与一个分页捆绑 https github com makerlabs PagerBundle wiki使用中提供的路由名称routing yml文件 从我的角度来看 这种方法
  • 如何告诉node.js mysql没有在默认端口上运行?

    我遇到了与此人类似的问题 连接 ECONNREFUSED 节点 js sql https stackoverflow com questions 8825342 connect econnrefused node js sql 我正在尝试将

随机推荐

  • 如何在原生拖动事件后获取 mouseup 事件?

    WHATWG 的实施拖放支持dragstart drag and dragend事件 The dragend当可拖动对象返回到原始位置时触发事件 例如尝试将红色框拖动到尽可能远的位置然后释放它 这dragend 和 结束 console l
  • DriveFolder.listChildren() 未显示其所有子项

    我正在制作一个与谷歌驱动器一起使用的应用程序 我需要获取文件夹内所有文件的列表 但似乎不可能 当我调用 listFiles 方法 时 我无法获取 DriveFolder 内的所有文件 但不仅如此 在我得到的文件列表中 还有一些我之前删除的文
  • 获取 Azure 服务总线中的消息统计信息

    我正在编写一个实用程序来监视我们的 Azure 服务总线主题和订阅 我可以获得主题详细信息 例如名称 排队消息计数和死信消息计数 但我想获取已处理的消息数 这是我正在使用的代码 var sub namespaceManager GetSub
  • 使用“print”时语法无效? [复制]

    这个问题在这里已经有答案了 我正在学习 Python 甚至无法编写第一个示例 print 2 100 这给出了SyntaxError invalid syntax 指着2 为什么是这样 我用的是3 1版本 那是因为在 Python 3 中
  • Android SimpleCursorAdapter 没有这样的列 Id

    我有一个 Listview 我想用 SQLite 数据库中的信息填充它 这似乎是最实用的解决方案 在我的调试器中 它说这是由以下原因引起的 IllegalArgumentException 没有这样的列 身份证不存在 这是我试图填充它的ja
  • 使用 .net WebApi 的包含图像的 HTML 页面

    我正在使用 net Web Api 通过 JSON 数据公开不同的端点 现在我需要特定端点返回 HTML 页面 我是这样实现的 HttpGet Route htmlPage htmlPageId public HttpResponseMes
  • 为什么 URL 位于 XML 命名空间中?

    以这一行为例
  • 如何为我的 git 存储库设置默认别名或其他配置?

    我想为 git 存储库设置一些默认别名和其他配置 以便当新用户克隆它时 他们可以在该项目中立即使用这些别名 即 我想做 git clone
  • 与 cloudFront 中的最小、最大和默认 TTL 混淆

    我的 Web 应用程序位于 S3 中 并使用 cloudFront 的 Web 发行版为该应用程序提供服务 我给了官方文档读过 但对很多术语感到困惑 我的问题 我想将cloudFront缓存设置为最长1年 365天 为此 我需要做什么 我们
  • 扩展 CodeIgniter 中的模型

    好吧 我是 CodeIgniter 框架的新手 我正在尝试构建一个通用模型类 看 class Basic Model extends CI MODEL function construct Call the Model constructo
  • 如何使用 AWS Cognito 限制自定义 api 访问

    我在我的应用程序中使用 Spring Boot 在搜索一些 IAM 工具时 我实际上很喜欢 Auth0 但我负担不起他们的定价 所以 我找到了另一个叫AWS Cognito 下面是Auth0来限制我们自定义的访问api https auth
  • 如何使用 python 从 Azure Cosmos DB 读取数据

    我有一个 Azure 试用帐户 并将一些 JSON 文件上传到 CosmosDB 中 我正在创建一个 python 程序来查看数据 但我在这样做时遇到了困难 这是我到目前为止的代码 import pydocumentdb documents
  • Android Studio Logcat 过滤器不显示

    我在 Ubuntu 13 10 上使用 AndroidStudio 0 4 0 在 0 3 2 上遇到同样的问题 一切都很好 直到我在 Android 和 ddms ddms 视图中丢失了 logcat 过滤实用程序和设备选择侧栏 然而 程
  • Facebook android sdk如何获取给定页面的点赞数

    我想获取给定页面及其 id 的点赞数 这里是图形API请求我想用 facebook android sdk 进行翻译 我不知道如何制作它 如果我尝试 我会收到错误 Bundle params new Bundle params putStr
  • 如何在 Chrome 中播放 .avi 文件格式的视频?

    从技术上讲 可以通过直接在 HTML 中加载外部播放器的嵌入对象来播放 avi 文件 现在铬已弃用该功能和解决方案将我的所有视频文件转码为 mp4 Edited因为我不拥有这些文件 所以我不会假装对它们进行转码 我期待着一种方法来重新启用旧
  • 将坐标外推到画布对象的边缘

    我正在编写一个浏览器应用程序 试图发现图像中的兴趣点 一旦我计算出这些点 我就会在它们之间画一条线 我的应用程序需要将这些线条推断到画布的边缘 有谁有 javascript 中线性图计算的经验吗 我已经进行了演示 function func
  • 以编程方式在闪亮仪表板中切换侧边栏菜单的显示

    我正在使用 R 闪亮仪表板 想知道是否可以使用附加按钮折叠 显示侧边栏 就像侧边栏顶部已有的按钮一样 那可能吗 Cheers 您可以通过以下方式向正文添加 删除所需的 css 类shinyjs library shiny library s
  • pyodbc 在 sp_prepexec 之后调用 sp_unprepare。这会影响参数化查询的性能吗?

    继续 SqlAlchemy pymssql 原始参数化查询会使用相同的执行计划吗 我从 pymssql 切换到 pyodbc 尝试将参数化查询发送到 SQL Server 带有 Microsoft 驱动程序的 pyodbc 可以解决问题 但
  • 操作委托使用在 foreach 循环外部声明的变量的最后一个值[重复]

    这个问题在这里已经有答案了 我有这段代码 int i 0 foreach var tile in lib dic Values var ii i var t tile Button b new Button gt MainStatic ti
  • MySQL 无法存储 UTF8 字符

    找不到我无法在 MySQL 数据库中存储 等字符的原因 我的表定义是 CREATE TABLE IF NOT EXISTS gen admin words translated id int 10 NOT NULL AUTO INCREME