Heim  >  Artikel  >  Backend-Entwicklung  >  单字节转阔字节

单字节转阔字节

WBOY
WBOYOriginal
2016-06-13 12:51:591269Durchsuche

单字节转宽字节

本帖最后由 sevencolours24 于 2013-02-28 16:05:54 编辑 $msg=“中国”
现在要把这个msg发给另一应用程序接收,如何把msg转换成utf-16编码的宽字节,应用程序才能正常显示
我现在直接发过去发现是单字节的

------解决方案--------------------
看手册,用iconv的返回值
$msg = iconv('usc-2','utf-16',$msg);
------解决方案--------------------
wchar_t是C/C++的字符数据类型,是一种扩展的字符存储方式,wchar_t类型主要用在国际化程序的实现中,但它不等同于unicode编码。unicode编码的字符一般以wchar_t类型存储。char是8位字符类型,最多只能包含256种字符,许多外文字符集所含的字符数目超过256个,char型无法表示。
wchar_t数据类型一般为16位或32位,但不同的C或C++库有不同的规定,如GNU Libc规定wchar_t为32位[1],总之,wchar_t所能表示的字符数远超char型。

所以只可能是
iconv('utf-8', 'ucs-2', $msg)
iconv('utf-8', 'ucs-4', $msg)
iconv('utf-8', 'utf-16', $msg)
iconv('utf-8', 'utf-32', $msg)
之一
------解决方案--------------------
 header("content-type:text/html;charset=utf-8")
这个只是服务器的响应头。
你文件的编码是否也是utf-8,不统一的话,乱码是正常的
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn