相关疑难解决方法(0)

PHP字符串中的Unicode字符

这个问题看起来很简单,但我找不到答案.

什么是PHP相当于以下C#代码行?

string str = "\u1000";
Run Code Online (Sandbox Code Playgroud)

此示例创建一个带有单个Unicode字符的字符串,其"Unicode数值"为十六进制的1000(十进制为4096).

也就是说,在PHP中,如何创建一个具有单个Unicode字符的字符串,其"Unicode数值"是已知的?

php unicode

147
推荐指数
7
解决办法
18万
查看次数

使用PHP查找字符的unicode

可能重复:
如何获取utf-8字符串中给定字符的代码点编号?

我在javascript中有一个示例代码:

var str = "HELLO WORLD";
var n = str.charCodeAt(0);
Run Code Online (Sandbox Code Playgroud)

这返回72

如何在PHP中完成此操作?

php

9
推荐指数
3
解决办法
1万
查看次数

JS charCodeAt等效于PHP(具有完整的unicode和emoji兼容性)

我在JS中有一个简单的代码,如果涉及特殊字符,我无法在PHP中复制.

这是JS代码(请参阅JSFiddle输出):

var str = "t??"; //char "t" and special characters, emojis, etc..
document.write("Length is: "+str.length); // Length is: 19
for(var i=0; i<str.length; i++) {
  document.write("<br> charCodeAt(" + i + "): " + str.charCodeAt(i));
}
Run Code Online (Sandbox Code Playgroud)

第一个问题是PHP strlen()并且mb_strlen()已经给出了JS的不同结果(strlen:39,mb_strlen:11),但是我设法使用自定义JS_StringLength函数(由于这个 SO答案).

这是我到目前为止在PHP中的内容(请参阅phpFiddle输出):

<?php

function JS_StringLength($string) {
    return strlen(iconv('UTF-8', 'UTF-16LE', $string)) / 2;
}

function JS_charCodeAt($str, $index){
    //not working!

    $char = mb_substr($str, $index, 1, 'UTF-8');
    if (mb_check_encoding($char, 'UTF-8'))
    {
        $ret = mb_convert_encoding($char, …
Run Code Online (Sandbox Code Playgroud)

javascript php unicode character-encoding

7
推荐指数
1
解决办法
3546
查看次数

标签 统计

php ×3

unicode ×2

character-encoding ×1

javascript ×1