PHP:如何正确拆分unicode韩语字符串?
我有一个问题,我似乎不能写“某些”韩语字符。让我试着解释一下。这些是我采取的步骤PHP:如何正确拆分unicode韩语字符串?,php,character-encoding,Php,Character Encoding,我有一个问题,我似乎不能写“某些”韩语字符。让我试着解释一下。这些是我采取的步骤 MS Access DB文件(美国版本)中有一个带有韩语的表。我将此表导出为UTF-8编码的文本文件。我们称之为“A.txt” 当A.txt被读取、存储在数组中,然后写入新文件(B.txt)时,所有字符都会正确显示。我使用的是标题(“内容类型:text/plain;charset=UTF-8”)在我的PHP脚本的最开始。我只需使用fwrite($fh,$someStr) 当我在另一个脚本中读取B.txt并写入一个新
标题(“内容类型:text/plain;charset=UTF-8”)代码>在我的PHP脚本的最开始。我只需使用fwrite($fh,$someStr)
ììì–ë339;Š¸ëì¼
。这整列都有中断字符,所以如果我在一个文本文件中有5列,用逗号分隔并用双引号封装,那么这列将中断其他所有列的韩文字符。如果我在编写文本文件时省略了这一列,一切都很好现在,我注意到某些PHP函数/操作会破坏Unicode字符。例如,如果我对任何一个韩语字符串使用preg_replace(),并尝试写入(),它将中断。但是,我没有在其他字段/列上执行任何我尚未执行的操作(以文本文件格式来说),其他部分也没有中断 有人知道如何纠正这种情况吗?我用不同的方法尝试了
utf8\u encode()
和mb\u convert\u encodeing()
,但没有成功。我正在阅读utf8\u encode()。我也试着把我的电脑语言设置成韩语
我已经花了两天的时间在这上面了,这简直是浪费时间。请帮忙
- 更新:
我想我可能找到了罪犯。在创建B.txt的脚本中,我将一个长的韩语字符串一分为二(使用字符串
…
…
作为指示符),并将它们分配给不同的列。我认为这种分裂行动最终导致了这个问题
- 新问题:
如何在保留unicode的同时将这个长字符串一分为二?以前,我曾使用过
strpos()
和substr()
,但据我了解,mb.*()
函数可能正是我所需要的。。现在测试
尝试将unicode修饰符(u)用于preg
u(PCRE\u UTF8)
此修饰符打开与Perl不兼容的PCRE的附加功能。模式字符串被视为UTF-8。此修饰符可从Unix上的PHP4.1.0或更高版本以及win32上的PHP4.2.3获得。从PHP4.3.5开始检查模式的UTF-8有效性。尝试使用unicode修饰符(u)表示preg
u(PCRE\u UTF8)
此修饰符打开与Perl不兼容的PCRE的附加功能。模式字符串被视为UTF-8。此修饰符可从Unix上的PHP4.1.0或更高版本以及win32上的PHP4.2.3获得。UTF-8模式的有效性是从PHP 4.3.5开始检查的。也许这会有帮助:“我没有在其他字段/列上执行任何我还没有执行的操作”-但是您正在做什么?向我们展示您的代码,如果可能的话,一个完整、简短、自包含的示例来演示问题。很明显你在做什么,很抱歉我没有说得更好。我已经把代码贴出来了,所以你们可以自己看。请看一看。您可能会感兴趣。也许这会有所帮助:“我没有在其他字段/列上执行任何我尚未执行的操作”-但您正在执行的是什么?向我们展示您的代码,如果可能的话,请提供一个完整、简短、自包含的示例来演示问题。很明显你在做什么,很抱歉我没有说得更好。我已经把代码贴出来了,所以你们可以自己看。请看一看。你可能对这本书感兴趣。