PHP中如何把一个字符串转换为utf-8编码的 ?如题 谢谢了
我想把一个的字符串的编码形式统一转换为utf-8,应该如何解决?如果事先知道编码形式可以用iconv,但如果不知道该编码该怎么办呢?又,如果一个字符串的编码形式有多种(如...
我想把一个的字符串的编码形式统一转换为utf-8,应该如何解决? 如果事先知道编码形式可以用iconv,但如果不知道该编码该怎么办呢? 又,如果一个字符串的编码形式有多种(如:前一半用的GB2312,后一半用的UTF-8,而中间又有两种编码混杂……),怎么统一转换成UTF-8 ?
展开
2个回答
展开全部
1、把 GBK 编码字串转换成 UTF-8 编码字串 view plaincopy to clipboardprint? <?php header("content-Type: text/html; charset=Utf-8"); echo mb_convert_encoding("你是我的好朋友","UTF-8","GBK"); ?> 2、把 UTF-8 编码字串转换成 GB2312 编码字串 view plaincopy to clipboardprint? // 注意将此文件存盘成 utf-8 编码格式文件再测试 <?php header("content-Type:text/html;charset=gb2312"); echo mb_convert_encoding("你是我的好朋友","gb2312","utf-8"); ?> // 注意将此文件存盘成 utf-8 编码格式文件再测试 <?php header("content-Type: text/html; charset=gb2312"); echo mb_convert_encoding("你是我的好朋友","gb312","utf-8"); ?> 3、对整个页面进行转换 该方法适用所有编码环境。这样把前128个字符以外(显示字符)的字符集都用 NCR(Numeric character reference,如“汉字”将转换成“汉字”这种形式)来表示,这样的编码在任意编码环境下页面都能正常显示。 在php文件的头部加上下面三行代码: view plaincopy to clipboardprint? mb_internal_encoding(”gb2312″); // 这里的gb2312是你网站原来的编码 mb_http_output(”HTML-ENTITIES”); ob_start(’mb_output_handler’); mb_internal_encoding(”gb2312″); // 这里的gb2312是你网站原来的编码 mb_http_output(”HTML-ENTITIES”); ob_start(’mb_output_handler’); 使用mb_convert_encoding 函数需启用PHP 的mbstring (multi-byte string)扩展
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询