我正在为通过此API将订单插入我们的数据库的公司制作API,但我遇到了一个问题:
中文字符不会存储到我的表格中,如何解决?
我有:
- 我的测试文件使用cURL通过标题*发布设置为utf8
- 通过标题*
将数据集插入utf8的API代码
- 将我的phpfile存储为UTF-8编码文件
- mysqli连接设置为utf8($connection->set_charset("utf8")
)
- mysql-database设置为utf8_general_ci
- mysql-table设置为utf8_general_ci
- mysql-columns设置为utf8_general_ci
- 我将值插入VARCHAR并插入TEXT列(用于测试目的)
- 将值直接插入查询 - >没有结果
- 通过iconv("ISO-8859-1","UTF-8", $text)
- >插入值奇怪的结果
- 通过iconv("UTF-8","UTF-8", $text)
- >插入值没有结果
- 经过测试的字符,如áéíúó
,完美无缺
- 通过foreach($post as $k=>$v){ $data.= $k.'='.$v;}
设置curl的后置值作为数据发送
- 通过http_build_query($post)
设置curl的后置值作为数据发送
- 在插入SET CHARACTER SET utf8
之前使用了一个查询
- 在插入SET NAMES 'utf8'
* PHP charset header:
header('Content-Type: text/html; charset=utf-8');
我没有想法,有人吗?
答案 0 :(得分:0)
我有同样的问题,并使用此查询,我的问题解决了 (“SET CHARACTER SET utf8”)
$mysqli->query("SET CHARACTER SET utf8")
答案 1 :(得分:0)
验证该字段具有utf8_unicode_ci
-Oz
,字符集为utf8
import lxml.etree as ET
xml = ET.parse('C:\\Users\\Admin\\Desktop\\Test2.svg')
svg = xml.getroot()
print(svg)
print(svg.findall(".//{Element {http://www.w3.org/2000/svg}svg at 0x3e107a8"))
答案 2 :(得分:0)
OOP
public function open_connection() {
$this->connection = mysqli_connect(DB_SERVER, DB_USER, DB_PASS, DB_NAME);
if(mysqli_connect_errno()) {
$msg = "Database connection failed: ";
$msg .= mysqli_connect_error();
$msg .= " (" . mysqli_connect_errno() . ")";
exit($msg);
}
// Change character set to utf8
mysqli_set_charset($this->connection,"utf8");
}