我如何将这个UTF-8字符串编码为ASCII以将其插入latin1数据库?

Jas*_*ver 2 php mysql database utf-8 latin1

我有这个字符串:

dsfssdsdfdsf«ظ...ط¯ظظ†طططظ...ط¯ط§ظ"ط®ظط§ط¬ط©

它是用UTF-8编码的,我从远程页面中提取它,我使用file_get_contents函数获取它的内容,远程页面编码是UTF-8,

现在我想将这个字符串插入数据库,它的表编码是latin1,将其显示到具有charset ISO-8859-1的html页面,

我多次尝试将其编码从UTF-8转换为ASCII,或者转换为ISO-8859-1以及其他编码如Windows-1256,但它没有成功,字符串出现奇怪的字符,请注意默认字符串包含阿拉伯字符,

编码失败结果的示例:

dsfssdsdfdsfÃ,Â~~~~~~~~~~~····················································································································· ·Ã······················································································································· Ã,®Ã~¸Ã<A†Ã~·Ã,§Ã~·Ã,¬Ã~·Ã,©

"我爱你"

hak*_*kre 6

如果您有UTF-8字符串,请将它们以UTF-8或二进制形式存储到数据库中,因此数据库应该有一个不会更改其编码的列.使用ISO-8859-1编码会破坏字符串.

在具有ISO-8859-1编码的HTML页面中,将数据库中的字符串重新编码为ISO-8859-1以获取所支持的字符以及所有其他字符,请使用HTML实体.在PHP中的功能是mb_convert_encoding:

$usascii = mb_convert_encoding($utf8, 'HTML-ENTITIES', 'UTF-8');
Run Code Online (Sandbox Code Playgroud)