今天遇到一个用户名上半部分被裁剪的问题,只有这个用户名会,经过排查,初步定位到是这个文字包含特殊符号导致的。
尝试了一些方法,例如增加lineheight, 加一个paddingTop 把文字往下顶,都能显示全部文字,但正常的文字又显得布局很丑很偏。
于是搜索个特殊符号“R࿆ebirth༢”,主要还是前面的那个莲花/࿆导致的,删除后就正常。
问了chatGPT ,符号 ‘࿆’ 的 Unicode 代码点是 U+0F06。它属于藏文字母的范围。
查了React native 的一些资料,暂时没有看到号的解决办法,先记录下。
目前我的临时解法是过滤掉藏文展示。
function removeTibetanCharacters(text) { return text.replace(/[\u0F00-\u0FFF]/g, ''); } // 示例用法 const inputText = "你的文本 R࿆ebirth༢"; const filteredText = removeTibetanCharacters(inputText);
如果这样解的话,还需要注意在用户修改信息的时候,禁止输入藏文等特殊符号。