PHP和MySQL:存储和打印十六进制字符

PHP和MySQL:存储和打印十六进制字符,php,sql,mysql,hex,Php,Sql,Mysql,Hex,我正在尝试在MySql数据库中存储一个十六进制值(\xC1)。当我用PHP打印时,得到的是:xC1lcool而不是正确的单词 插入veiculos值(1,'Ford','Ka RoCam Flex',25850.00,1998年,1999年,'Vermelho',15000',\xC1lcool;Gasolina;GNV','Ar Condicino;4个portas;C'mbio automático','imagem1.jpg;imagem2.jpg;imagem3.jpg;imagem4.

我正在尝试在MySql数据库中存储一个十六进制值(\xC1)。当我用PHP打印时,得到的是:xC1lcool而不是正确的单词

插入veiculos值(1,'Ford','Ka RoCam Flex',25850.00,1998年,1999年,'Vermelho',15000',\xC1lcool;Gasolina;GNV','Ar Condicino;4个portas;C'mbio automático','imagem1.jpg;imagem2.jpg;imagem3.jpg;imagem4.jpg;imagem5.jpg;'),(2,'Ford','Ka RoCam Flex',223850.001992001,'Prata',10000,\xC1lcool;GNV','Ar Condicino;4门;CMBIO automático;','imagem1.jpg;imagem2.jpg;imagem3.jpg;imagem4.jpg;imagem5.jpg;'),(3,'Ford','Fiesta',21380.00,1998年,2002年,'Preto',23043年,'Gasolina','imagem1.jpg;imagem2.jpg;imagem3.jpg;imagem4.jpg;imagem5;'

我怎样才能做到这一点呢?

将MySQL函数与一起使用。如下所示

insert into tablename values (CONCAT(UNHEX('C1'), 'other-part-of-string'))

您可以在MySQL数据库中存储完整的二进制数据,如图像或pdf。插入值时,请确保执行“插入…值”(.MySQL\u real\u escape\u string($value)。”。建议您对该列使用blob数据类型,但如果您确实想使用varchar,则可以使用varchar。之后,当您选择数据输出时,这将是正常的,您不必执行任何其他操作。对于图像,只需使用
标题(内容类型:…)
并正常打印变量,图像将显示给最终用户。

\x
不是有效的转义序列。有关有效序列的详细信息,请参阅

引用手册:

对于所有其他转义序列, 反斜杠被忽略。即 转义字符被解释为 未转义。例如,“\x” 只是“x”

您可以指定十六进制的完整字符串:

SELECT 0x61626364 -- Prints abcd
如果要混合这两种样式,必须连接:

SELECT CONCAT('a', 0x6263, 'd') -- Prints abcd

可能重复:做了评论,而不是代码。这么长的一行让我害怕