LINUX.ORG.RU

[РЕШЕНО] strtoupper и кирилица 2

 , ,


0

1

strtoupper (туловер тоже) превращает русские символы в знаки вопроса.

Эту тему читал: [php] strtoupper и кирилица но она не совсем про это.

PHP Version 7.0.32

mbstring.detect_order	no value	no value
mbstring.encoding_translation	Off	Off
mbstring.func_overload	2	2
mbstring.http_input	UTF-8	UTF-8
mbstring.http_output	UTF-8	UTF-8
mbstring.http_output_conv_mimetypes	^(text/|application/xhtml\+xml)	^(text/|application/xhtml\+xml)
mbstring.internal_encoding	UTF-8	UTF-8
mbstring.language	Russian	Russian
mbstring.strict_detection	Off	Off
mbstring.substitute_character	no value	no value

CentOS 7.

mb_convert_case('текст', MB_CASE_UPPER, «UTF-8»); работает нормально и пока использую его. Но что с strtoupper?!

UPD: нифига не нормально работает. Если первый символ текста уже капсом и кириллица, то она превращается в ?. Приходится присоединять пробел, а потом делать trim.

UPD2: Приношу всем извенения - моя ошибка - я не корректно провел исходное тестирование. Похоже сильно устал вчера. Проблема заключалась в том, что одна из библиотек, загружающаяся при инициализации проекта делала так:

mb_internal_encoding('ASCII');

★★★★★

Последнее исправление: Suntechnic (всего исправлений: 2)

У меня все пашет, centos 7

$ php -a
Interactive mode enabled

php > echo mb_strtoupper('текст');
ТЕКСТ


в конфиге только internal encoding UTF-8

BaBL ★★★★★
()
Последнее исправление: BaBL (всего исправлений: 1)
Ответ на: комментарий от BaBL

У меня в консоле кирилица вообще не вводится оказывается O_o. Даже если скопипастить твою echo mb_strtoupper('текст'); вставляется echo mb_strtoupper("); Я консоль интерпритатора PHP имею ввиду.

И да у меня mbstring.internal_encoding тоже UTF-8 если чо.

Suntechnic ★★★★★
() автор топика
Ответ на: комментарий от Suntechnic
/mnt/d$ php -a
Interactive mode enabled

php > echo mb_strtoupper('текст');
ТЕКСТ
php >

Чините свой линукс, у меня в wsl работает.

anonymous
()
Ответ на: комментарий от docpro

Где? В коносоле PHP - конечно нет - я же его ввести даже не могу. В консоле bash - вполне себе, без проблем обычных присущих юникоду в CentOS.

Suntechnic ★★★★★
() автор топика
Ответ на: комментарий от anonymous

Если ты не заметил, то вопрос как раз про то как починить.

Suntechnic ★★★★★
() автор топика
Ответ на: комментарий от Suntechnic

От чистого сердца рекомендую dompdf. Это где-то внутри всё равно обёртка над tcpdf, но оно намного фичастей, и рендерер на порядки лучше.

nev3rfail
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.