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

将日语字符保存到MySQL中

文建业
2023-03-14

我正在使用PHP执行一个带有西班牙语、英语和日语字符的MySQL更新语句。

但我无法将日语字符保存到数据库中。我应该如何进行?

数据库具有utf8\u常规\u ci排序规则。

$strSQL = "UPDATE table SET value = '" . addslashes($strValue) . "'";
$strSQL = utf8_decode($strSQL);
mysqli_query($cnn, $strSQL);

使用addslashes我可以将撇号保存到数据库中。

使用utf8\u decode我可以将西班牙语字符保存到数据库中。

共有1个答案

阮梓
2023-03-14

为什么要处理sql查询?

看看http://php.net/manual/en/function.utf8-decode.php 有关utf8_decode()的详细信息

您的数据库和表或PHP脚本中是否存在问题。

CREATE DATABASE test DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE TABLE test.table
(
    id INT NOT NULL AUTO_INCREMENT,
    text VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
    PRIMARY KEY (`id`)
) ENGINE = MyISAM;
SET NAMES utf8;

例如:

$mysqli = new mysqli("localhost","my_user","my_password","test_db");
$mysqli->set_charset("utf8");

$link = mysqli_connect("localhost","my_user","my_password","test_db");
mysqli_set_charset($link,"utf8");

使用PHPMyAdmin,登录时选择UTF-8。

PHP脚本:

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

Apache配置(/etc/http/conf/httpd.conf):

AddDefaultCharset UTF-8

Apache.htaccess文件:

AddCharset UTF-8 .htm
AddCharset UTF-8 .html
AddCharset UTF-8 .php

PHP配置(/etc/PHP.ini):

default_charset = "utf-8"

MySQL配置(/etc/my.cnf):

[client]
default-character-set=utf8

[mysqld]
default-collation=utf8_unicode_ci
character-set-server=utf8
default-character-set=utf8
init-connect='SET NAMES utf8'
character-set-client = utf8

例如:$_GET$_POST

您可以使用mb\u convert\u encoding()将字符串转换为UTF-8。

有用链接:

>

  • PHP将日文字符串插入utf8表,但仍然成功读取

    http://es2.php.net/manual/en/mysqli.set-charset.php

    选择带有日语字符的MySQL行

    http://php.net/manual/en/function.mysql-set-charset.php

    https://www.w3schools.com/php/func_mysqli_set_charset.asp

    PHP mysql字符集utf8问题

    https://medium.com/@adamhooper/in-mysql-never-use-utf8-use-utf8mb4-1176124e434

    https://dev.mysql.com/doc/refman/8.0/en/faqs-cjk.html

    https://www.experts-exchange.com/questions/24742133/How-to-insert-a-japanese-character-into-mysql-database.html

  •  类似资料:
    • 问题内容: 我正在努力在数据框中显示日语字符,这些字符已使用RMySQL软件包从MySQL数据库中检索到。如果我将数据库中的字符串粘贴到一个变量中,该变量具有Encoding’UTF-8’,则日语字符显示良好。数据框列的编码为“未知”,我还没有使用iconv对其进行更改。 数据库的一行是: 检索使用: 第一行数据: 任何帮助,不胜感激。 问题答案: 通过在检索数据之前添加以下行,似乎可以解决此问题

    • 问题内容: 什么是将数据数组保存到单个mysql字段的好方法? 同样,一旦我在mysql表中查询该数组,又有什么好方法可以将其恢复为数组形式? 是序列化和反序列化答案吗? 问题答案: 没有 好的 方法可以将数组存储到单个字段中。 您需要检查您的关系数据并对模式进行适当的更改。请参阅下面的示例以获取对此方法的参考。 如果 必须 将数组保存到单个字段中,则and 函数可以解决问题。但是您不能对实际内容

    • 我有一个关于阿拉伯语编码和将阿拉伯语存储到mysql的问题。 我应用了以下所有步骤: set-MySQL字符集:UTF-8 Unicode(utf8) 设置MySQL连接排序规则:utf8\u常规\u ci 集合数据库和表排序规则设置为:utf8\U general\U ci或utf8\U unicode\U ci mysql_查询(“设置名称‘utf8’”); mysql_查询('SET CHA

    • 问题内容: 我的构建服务器上正在运行单元测试,并且想在发生故障时捕获日志结果以进行分析。我还没有找到一种将输出重定向到文件或找到日志文件实际所在位置的方法。 我想要的是: 编辑-澄清: 我所有的Docker容器都会生成有用的日志,这些日志会手动显示。我想编写脚本以将那些相同的日志保存到构建服务器上的工件文件中。本质上,保存到文件的输出不会退出。 问题答案: 默认情况下,docker使用驱动程序记录

    • 我尝试使用spark将一些数据保存到casandra,但当我尝试保存日期时,我得到了 出现以下错误: 我的餐桌课 我的cassandra表: 有人知道怎么解决这个问题吗? 编辑:

    • 问题内容: 我想在pyspark中捕获 show 的结果,类似于此处和此处。我无法使用pyspark找到解决方案,只能使用scala。 最终目的是将其捕获为 我尝试过的字符串,仅在控制台上显示。 问题答案: 您可以使用链接捕获pyspark中的explain()的结果中所示的相同方法来构建辅助函数。只需检查源代码并观察它正在调用。 答案取决于您使用的是哪个版本的spark,因为参数的数量随时间而变