gpt4 book ai didi

php - 将日文字符保存到 MySQL 中

转载 作者:行者123 更新时间:2023-11-29 06:36:06 26 4
gpt4 key购买 nike

我正在使用 PHP 执行包含西类牙语、英语和日语字符的 MySQL 更新语句。

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

Database has utf8_general_ci collation.

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

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

使用utf8_decode我可以将西类牙语字符保存到数据库中。

最佳答案

为什么要处理 utf8_decode() sql 查询?

Look at http://php.net/manual/en/function.utf8-decode.php for details about 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");

配置服务器的编码字符集:

With PHPMyAdmin , Choose UTF-8 when you login.

PHP 脚本:

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

Apache 配置(/etc/httpd/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

用户值(value)观:

e.g : $_GET , $_POST

您可以使用mb_convert_encoding()将字符串转换为UTF-8


有用的链接:

关于php - 将日文字符保存到 MySQL 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53794906/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com