PHP函数iconv字符编码从iso-8859-1到utf-8

alb*_*ore 2 php utf-8 character-encoding iconv

我正在尝试将字符串从iso-8859-1转换为utf-8.但当我发现这两个charachter€和•函数返回一个charachter,这是一个内部有两个数字的正方形.

我该如何解决这个问题?

bob*_*nce 8

我认为您正在寻找的编码是Windows代码页1252(西欧).它与ISO-8859-1(或8859-15)不同; 0xA0-0xFF范围内的字符与8859-1匹配,但cp1252在0x80-0x9F范围内添加了各种额外字符,其中ISO-8859-1分配了很少使用的控制代码.

混淆的原因在于,当您提供页面时text/html;charset=iso-8859-1,由于历史原因,浏览器实际上使用cp1252(因此也会在cp1252中提交表单).

iconv('cp1252', 'utf-8', "\x80 and \x95")
-> "\xe2\x82\xac and \xe2\x80\xa2"
Run Code Online (Sandbox Code Playgroud)