问题标签 [mb-convert-encoding]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - mb_convert_encoding 'HTML-ENTITIES' 的替代品
我使用这段代码:
问题是有些用户没有在服务器上安装有效的“mbstring”扩展。在这种情况下是否有 mb_convert_encoding 的替代方案?
非常感谢
php - 为什么 mb_convert_encoding 失败?
为什么
失败?什么会使此功能失败?
我有一个 PHP 网页,它运行代码并在这一行停止,并返回 HTTP 500 错误。
但我不知道为什么会失败。关于在哪里检查的任何建议?
更新: 错误日志显示
php - 使用 PHP 将字符串编码为 unicode
我正在尝试将字符串编码为 unicode:
运行应该转换Â
字符,但是当我回显它时它仍然显示。为什么?
php - 如何使用 php 函数 mb_convert_case 并仅将某些单词转换为大写?
我想传递这个输入
预期结果:
AL & JRL 商务中心是最好的
我已经尝试了下面的代码,但它可以转换所有内容。
php - 使用 mb_convert_encoding() 将字符串从 HTML-ENTITES 转换为 UTF-8 并返回
我想将字符串的字符编码转换为 HTML-ENTITIES,然后再转换回 utf-8。我认为转换为某种编码并返回应该给我留下相同的字符串,但它看起来不像。
我的测试字符串是:
Test: ěščřžýáíé'
转换为 HTML 实体
输出这个结果:
Test: ěščřžýáíé
但是,当我尝试转换回 utf-8
我出人意料地得到(不正确的)输出,而不是原始字符串:
Test: ěščřžýáĂĂ©
如何正确转换编码以取回原始字符串?
php - 将 UTF-8 转换为 ASCII
当我像这样转换示例字符串时:
从 UTF-8 到 ASCII 结果应该是这样的:
%D8%A8%D8%B2%D8%B1%DA%AF-%D8%AA%D8%B1%DB%8C%D9%86-%D9%88%D8%B1%D8%B2%D8%B4 %DA%A9%D8%A7%D8%B1%D8%A7%D9%86-%D8%AA%D8%A7%D8%B1%DB%8C%D8%AE-%D8%A7%D9%84 %D9%85%D9%BE%DB%8C%DA%A9%D8%AA%D8%B5%D8%A7%D9%88%DB%8C%D8%B1
但它是这样的:
?????????????????????-???????????????-????????????? ?????????-8-?????????????????????-???????????????-??? ??????-????????????-???????????????????????????
我真的很困惑有人知道这个问题吗?
更新:我也试过 iconv:
但它说:
注意:iconv():在输入字符串中检测到非法字符
php - 在字符串末尾有破折号不允许 json_encode
我正在尝试使用
substr($originalText,0,250)
;从字符串中提取 n 个字符
第 n 个字符是一个破折号。所以当我在记事本中查看它时,我得到最后一个字符 â€。在我的编辑器 Brackets 中,我什至无法打开它的日志文件,因为它只支持 UTF-8 编码。
我也不能在这个字符串上运行 json_encode。
但是,当我使用 时substr($originalText,0,251)
,它工作得很好。我可以打开日志文件,它会显示一个破折号而不是â€。json_encode 也可以正常工作。
我可以mb_convert_encoding($mystring, "UTF-8", "Windows-1252")
用来规避这个问题,但谁能告诉我为什么最后有这些字符会导致错误?此外,在执行此操作时,我的日志文件在括号中显示 â€,这也令人困惑。
我的问题是为什么在字符串末尾有破折号,与在其他任何地方都有不同(后跟其他字符)。
希望我的问题很清楚,如果不是,我可以尝试进一步解释。
谢谢。
php - 在 Laravel 项目中转换为 UTF8 不起作用
我正在运行这行代码。
当我在 laravel 中运行它时,我得到了空字符串,但是当我在浏览器中使用一个简单的 test.php 文件在 wamp 上运行它时,我得到了正确的字符串。
php - PHP mb_convert_encoding,双重解码问题
我对mb_convert_encoding有一些问题。在数据库中我有表:
- 主题(latin1_swedish_ci)
网站采用 UTF-8 格式。与 MySQL 的 db 连接也是 UTF-8 格式。我无法更改连接设置,但我可以更改数据库表。
我在想我可以对它进行双重解码并获得 UTF-8。现在它看起来像这样:
string 'КвеÑÑ‚Ñ‹.' (length=27)
我尝试了下一个解决方案:
mb_convert_encoding($str, 'Windows-1251', 'UTF-8');
出去:
string '?????�???�?�.' (length=13)
php - 如何为区域设置语言异常修改 mb_convert_case 函数?
我将标题转换为 MB_CASE_TITLE 大小写:
但是,我们的语言环境有一个例外:I 字母的小写字母是 ı(不是 i)。因此,KALDIRIMLAR 词转换为 Kaldirimlar 而不是 Kaldırımlar。
我怎么解决这个问题?