#php #html #laravel #character-encoding #emoji
Вопрос:
Я работаю над веб-приложением laravel, и в слове instantaneous буквы tantan заменяются более старым смайликом.
Заглавная буква любой из шести букв разбивает эмодзи. Это веб-приложение работает на laravel 8.4, и эта проблема не может быть воспроизведена в двух других приложениях, работающих под управлением laravel 5.8. На данный момент я просто использую синоним мгновенного, но я бы хотел знать, в чем причина этого. Вот пример проблемы
<p>{!!$product->description!!}</p>
Комментарии:
1. Поддерживаете ли вы HTML в поле описания вашего продукта? Если нет, вы можете обойти эту проблему, выполнив
{{ $product->description }}
({!! !!}
будет анализировать HTML,{{ }}
не будет). Хотя я не уверен, почемуtantan
его заменили бы смайликом…2. Да, у нас есть некоторые символы товарных знаков и зарегистрированных товарных знаков, такие как<sup>amp;reg;<sup></sup>, которые нужно отображать, но я также попробовал просто {{}}, и смайлики все еще отображаются.
3. Laravel 8.x, со следующим кодом:
Route::get('/test', function () { $description = 'tantan,instantaneous'; return view('test')->with(['description' => $description]); });
, затем вtest.blade.php
,{!! $description !!}
, отображает:tantan,instantaneous
… Есть ли у вас какие-либо плагины в этой установке Laravel или на вашем локальном компьютере, которые могли бы заменить этот текст?4. В моем локальном ящике ничего нет, но я совсем недавно унаследовал эту кодовую базу, поэтому я глубоко погружусь в свои пакеты. Поскольку вы показали это нормально, определенно кажется, что это что-то в моей среде разработки. Спасибо за вашу помощь!
5. Попробуйте щелкнуть правой кнопкой мыши на своей странице и перейти в раздел «Просмотр источника», чтобы увидеть, есть ли там смайлик. Если это не так, скопируйте и вставьте исходный код в новый чистый HTML-файл, чтобы увидеть, произойдет ли замена снова
Ответ №1:
Таким образом, проблема заключалась в том, что шрифт Sen, который мы используем, tantan превращается в смайлик.
Комментарии:
1. Это просто вызывает больше вопросов, чем ответов. Ладно, на самом деле только один вопрос… почему. (похоже на шутку создателя шрифта)
2. Только что нашел это на github для шрифта github.com/philatype/Sen/issues/6 определенно не смешная шутка, но, по крайней мере, теперь я знаю.
3. Если кому-то интересно, есть вилка , которая удаляет смайлики.