将日语字符保存到mysql中

wb1gzix0  于 2021-06-15  发布在  Mysql
关注(0)|答案(1)|浏览(501)

我正在使用php执行一个mysql更新语句,其中包含西班牙语、英语和日语字符。
但我无法将日语字符保存到数据库中。我该怎么办?
数据库具有utf8\常规\ ci排序规则。

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

addslashes 我可以将撇号保存到数据库中。
utf8_decode 我可以把西班牙语字符保存到数据库里。

rbl8hiat

rbl8hiat1#

你为什么这么做 utf8_decode() sql查询?
看看http://php.net/manual/en/function.utf8-decode.php 有关utf8\u 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/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

用户值:

例如: $_GET , $_POST 你可以用 mb_convert_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-11761243e434
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

相关问题