php 5.2.4 iconv函数TRANSLIT 有时候不靠谱
php 5.2.4 iconv函数TRANSLIT 有时不靠谱
php 版本 5.2.4
问题:文件字符串转码时按字节截断不当
比如
$str = “公司”; //默认以UTF-8编码$str = Simple_Util_String::msubstr($str, 4); // 按字节截取前4个字节,原字符串有6个字节$str .= “adfadsfasdfadsfasdf”; //拼接后面的字符串 (执行下一步后,这些字符就消失了)$str = iconv("UTF-8", "GBK//TRANSLIT",$str); // 转码 , 遇到不认识的字符串进行转写
执行此步时,“公司”的“司”字编码不完整,iconv不认识,但iconv没有转写,而是做了截断。导致$str后面的字符串也没有转换成功,“adfadsfasdfadsfasdf”丢失了。在一些商业产品,尤其是有关统计的系统里,这是很危险的。
解决方法是:
改变iconv第二个参数。
$str = iconv("UTF-8","GBK//IGNORE", $str);
总结:iconv的TRANSLIT并不靠谱,遇到不认识也不能转写的字符串,也可能截断。保险的方法是用IGNORE。

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Semasa pemprosesan teks, adalah keperluan biasa untuk menukar rentetan dalam format pengekodan yang berbeza. Fungsi iconv (InternationalizationConversion) yang disediakan dalam bahasa PHP boleh memenuhi keperluan ini dengan sangat mudah. Artikel ini akan memperkenalkan penggunaan fungsi iconv secara terperinci dari aspek berikut: Definisi fungsi iconv dan pengenalan kepada parameter biasa Contoh demonstrasi: Tukar rentetan dikod GBK kepada rentetan berkod UTF-8 Contoh demonstrasi: Tukar UTF

php提交表单通过后,弹出的对话框怎样在当前页弹出php提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用PHP在后端,那么就用Ajax;仅供参考:HTML code

iconv-fencoding[-tencoding][inputfile]...[Fungsi] Menukar kandungan fail yang diberikan daripada satu pengekodan kepada yang lain. [Penerangan]-fencoding: Tukar aksara daripada pengekodan kepada pengekodan. -tencoding: Tukar aksara kepada pengekodan. -l: Senaraikan set aksara yang dikodkan -ofile yang diketahui: Tentukan fail output -c: Abaikan aksara haram dalam output -s: Sekat mesej amaran, tetapi bukan mesej ralat --verbose: Paparkan maklumat kemajuan -f dan -t boleh Aksara undang-undang yang ditentukan disenaraikan dalam arahan dengan pilihan -l. [Contoh]* Senaraikan pengekodan aksara yang disokong pada masa ini

1Unit asas storan komputer Unicode ialah bait, yang terdiri daripada 8 bit. Memandangkan bahasa Inggeris hanya terdiri daripada 26 huruf ditambah beberapa simbol, aksara Inggeris boleh disimpan terus dalam bait. Tetapi bahasa lain (seperti Cina, Jepun, Korea, dll.) perlu menggunakan berbilang bait untuk pengekodan kerana bilangan aksara yang banyak. Dengan penyebaran teknologi komputer, teknologi pengekodan aksara bukan Latin terus berkembang, tetapi masih terdapat dua batasan utama: tiada sokongan berbilang bahasa: skema pengekodan satu bahasa tidak boleh digunakan dalam bahasa lain dan tiada standard bersatu: contohnya Terdapat banyak piawaian pengekodan dalam bahasa Cina seperti GBK, GB2312, GB18030, dsb. Memandangkan kaedah pengekodan tidak bersatu, pembangun perlu menukar berulang-alik antara pengekodan yang berbeza, dan banyak ralat pasti akan berlaku.

Apakah persamaan dan perbezaan antara __str__ dan __repr__? Kita semua tahu perwakilan rentetan fungsi repr() boleh menyatakan objek dalam bentuk rentetan untuk memudahkan pengenalan kita. Ini ialah "perwakilan rentetan". repr() mendapatkan perwakilan rentetan objek melalui kaedah khas __repr__. Jika __repr__ tidak dilaksanakan, apabila kita mencetak contoh vektor ke konsol, rentetan yang terhasil mungkin. >>>classContoh:lulus>>>cetak(str(Contoh()))>>>

不用数据库来实现用户的简单的下载,代码如下,但是却不能下载,请高手找下原因,文件路劲什么的没问题。

图片消失如何解决先是图片文件上传$file=$_FILES['userfile']; if(is_uploaded_file($file['tmp_name'])){$query=mysql_query("INSERT INTO gdb_banner(image_src ) VALUES ('images/{$file['name'

图片消失如何解决先是图片文件上传$file=$_FILES['userfile']; if(is_uploaded_file($file['tmp_name'])){$query=mysql_query("INSERT INTO gdb_banner(image_src ) VALUES ('images/{$file['name'
