如何用PHP的mb_string函数在Windows系统中正确处理中文字符?

2026-04-06 07:180阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计921个文字,预计阅读时间需要4分钟。

如何用PHP的mb_string函数在Windows系统中正确处理中文字符?

我们知道Windows(中文版)中,文件名和文件内容等编码都是GBK,而我们在开发过程中,IDE中的编码是UTF-8。如何将编码转换一致呢?

我们都知道windows中(当然是中文版),文件名和文件内容等编码都是gbk,而我们在开发过程中,IDE里的编码则是UTF-8,(这里不讨论为什么等等问题,只考虑怎么把编码转变成一样的)所以导致我写的UTF-8编码的正则模式字符串中的中文在gbk编码的文件中并不能正确匹配。

一开始,我并没有什么办法,试过把PHP脚本文件的编码也改成GBK,也可以用,但是想到这种方法太low了,所以找一找PHP中有没有函数可以满足我的需求。

这时,我想到了以前在处理windows中的文件名时用的函数iconv(),其函数原型如下:

stringiconv(string$in_charset,string$out_charset,string$str)

Performsacharactersetconversiononthestringstrfromin_charsettoout_charset.

我们常使用:

$out_charset='utf-8'; $fileName=iconv($fileName,$out_charset,'gbk');

来处理文件名,将文件名改从gbk改为UTF-8而内容不变。

阅读全文

本文共计921个文字,预计阅读时间需要4分钟。

如何用PHP的mb_string函数在Windows系统中正确处理中文字符?

我们知道Windows(中文版)中,文件名和文件内容等编码都是GBK,而我们在开发过程中,IDE中的编码是UTF-8。如何将编码转换一致呢?

我们都知道windows中(当然是中文版),文件名和文件内容等编码都是gbk,而我们在开发过程中,IDE里的编码则是UTF-8,(这里不讨论为什么等等问题,只考虑怎么把编码转变成一样的)所以导致我写的UTF-8编码的正则模式字符串中的中文在gbk编码的文件中并不能正确匹配。

一开始,我并没有什么办法,试过把PHP脚本文件的编码也改成GBK,也可以用,但是想到这种方法太low了,所以找一找PHP中有没有函数可以满足我的需求。

这时,我想到了以前在处理windows中的文件名时用的函数iconv(),其函数原型如下:

stringiconv(string$in_charset,string$out_charset,string$str)

Performsacharactersetconversiononthestringstrfromin_charsettoout_charset.

我们常使用:

$out_charset='utf-8'; $fileName=iconv($fileName,$out_charset,'gbk');

来处理文件名,将文件名改从gbk改为UTF-8而内容不变。

阅读全文